Computer/Computational Science (CSCI) Courses

     -  See also degree  Checklist  and  four-year  course plan

CSCI 101 – INTRODUCTION TO COMPUTER CONCEPTS (3). (Prereq: two years of college preparatory mathematics or equivalent) History, application and social impact of computers; problem-solving, algorithm development, applications software and programming in a procedural language. Open to all majors.

CSCI 102 – GENERAL APPLICATIONS PROGRAMMING HTML & JAVASCRIPT (3). (Prereq: two years of college preparatory mathematics) Introduction to systematic computer problem-solving and programming for a variety of applications. Open to all majors.

CSCI 104 – COMPUTING IN MATLAB (3). (Prereq: two years of college preparatory mathematics). Develop a basic competence in scientific computing using the Matlab programming language. Previous programming experience is not required.

CSCI 145 – JAVA PROGRAMMING ALGORITHMIC DESIGN I (4). (Prereq: Placement in BMTH 141 or grade of C or better in BMTH 115) Problem solving, algorithmic design and programming. Three lectures and two laboratory hours per week. Open to all majors.

CSCI 146 – ALGORITHMIC DESIGN II (4). (Prereq: Grade of C or better in CSCI 145 and grade of C or better in BMTH 141 or 174; Coreq: BMTH 174) Continuation of CSCI 145. Rigorous development of algorithms and computer programs; elementary data structures. Three lecture hours and two laboratory hours per week. Open to all majors.

CSCI 150 – INTRODUCTION TO COMPUTATIONAL SCIENCE (3). (Prereq: BMTH 115 or BMTH 131, and, CSCI 104 or consent) Topics include computing theories, programming languages, modeling/simulation and visualization tools, and case studies of problem solving and high performance computing in natural sciences.

CSCI 201 – INTRODUCTION TO COMPUTER SECURITY (3). (Prerequisite or Co-requisite: CSCI B101 or consent of instructor) Introduction to the theory and practice of computer security, including security policies, authentication, digital certificates, firewalls, malicious code, legal and ethical issues, and incident handling.

CSCI 209 – SPECIAL TOPICS IN COMPUTER PROGRAMMING (1-3). Programming and application development using selected programming languages. Course content varies and will be announced in the schedule of classes by suffix and title.

CSCI 211 – DIGITAL LOGIC DESIGN (3). (Prereq: BMTH 141 or 174) Number systems, Boolean algebra, logic design, sequential machines.

CSCI 240 – INTRODUCTION TO SOFTWARE ENGINEERING (3). (Prerequisite: CSCI B145 or consent of instructor) Fundamentals of software design and development; software implementation strategies; object-oriented design techniques; ethics in software development.

CSCI 255 - INTRODUCTION TO COMPUTATIONAL BIOLOGY (3). (Prereq: CSCI 104 or BBIO 101 or Consent) Introduction to the Linux operating system, an introduction to computer science and programming using high-level languages, and a survey of various computational tools used in exploring and analyzing biological data.

CSCI 265  GRAPHICS, MULTIMEDIA AND USER-INTERFACE DESIGN (3). (Prereq: CSCI/BMTH 280 or BMTH230, and CSCI 145 or consent.) Principles of windowing systems; Graphical interface design and implementation; Processing graphical data using a high level programming language.

CSCI 280 - COMPUTATIONAL MATHEMATICS (4). {=BMTH 280} (Prereq. BMTH 142 and CSCI 104 or consent of instructor)  Fundamental concepts selected from linear algebra and differential equations applicable to Computational Science. Major topics include systems of linear equations, diagonalization, and numerical solutions to differential equations. The focus is on computational methods and programming skills that will be implemented in a variety of science and engineering disciplines.

CSCI 320 – DATABASE SYSTEMS AND MANAGEMENT (3). (Prereq: CSCI 145 or consent) Provides foundations of database systems for students with little prior database experience, topics include relational algebra, data model, schema design and normalization, storage management, query, transaction, concurrency control and consistency.

CSCI 321  DATABASE-DRIVEN APPLICATIONS DEVELOPMENT (3). (Prereq: CSCI 145 and CSCI 320) Development of data-driven software for devices including smart phones, tablets, handheld units, and other general purpose computing platforms. Emphasis on database connectivity, design patterns, human-computer interfaces and usability.

CSCI 350 – TECHNIQUES OF COMPUTATION (3). (Prereq: CSE/BMTH 280 [or BMTH 230 and BMTH 242], and CSCI 146 or consent). Introduce core techniques involved in scientific computing process; the focus is on numeric methods, data structures, and computing optimization.

CSCI 360 – OPERATING SYSTEMS (3). (Prereq: CSCI 145 or a high-level programming language). Introduction to operating systems. Topics include evolution of operating systems, components and performance, process management, memory management, file systems, security and advanced topics.

CSCI 365 – COMPUTER GRAPHICS (3). (Prereq: CSCI 350 or consent.) Graphics pipeline; 2D and 3D geometric objects and transformations; 2D and 3D viewing,clipping, lighting, and rendering processes; Perspective projections; Lighting and reflectance models; Shading models; Hidden surface elimination; 3D curves and surfaces; Color perception and color models.

CSCI 399 – INDEPENDENT STUDY (1-3). Contract approval by instructor, advisor, Department Chair and Vice Chancellor for Academic Affairs is required.

CSCI 416 – INTRODUCTION TO COMPUTER NETWORKS (3). (Prereq: CSCI 145 or consent). Fundamental concepts in computer networks, protocols, and applications. Topics include: network architectures, transmission media, protocols, wireless networks, routing, security and latest topics.

CSCI 426  SPECIAL TOPICS IN COMPUTER NETWORKS & DISTRIBUTED COMPUTING (3). (Prereq: CSCI 416.) Advanced topics in Computer Networks, course content varies and will be announced in the schedule of classes by suffix and title. 

CSCI 422  INTRODUCTION TO DATA MINING (3). (Prereq: BMTH 230 or CSCI/BMTH 280, BSTA 340 and CSCI 320) Introduction to information processing techniques and mathematical tools to assemble, access, and analyze data for decision support and knowledge discovery.

CSCI 450  MODELING AND SIMULATION (3). (Prereq: CSCI 350 or consent, and BSTA 340) An introduction to modeling and simulation. Topics include fundamental techniques in designing, coding, and use of simulation software to represent actual or theoretical systems in order to observe their behavior and evaluate design correctness.

CSCI 452  COMPUTER GAME DEVELOPMENT (3). (Prereq: CSCI 350 or consent.) Game concept development; User interface design; Graphics (2D, 3D, animation, and advanced techniques); Game physics; Real-time interaction; Intelligent characters; Software engineering considerations.

CSCI 463  INTRODUCTION TO DIGITAL IMAGE PROCESSING (3). (Prereq: CSCI 104 or CSCI 145, BMTH 230 or CSCI/BMTH 280, BSTA 340) Overview of digital image processing techniques and their applications; transforms, enhancement, analysis, segmentation, compression, color image processing; computer projects.

CSCI 466  DATA VISUALIZATION (3). (Prereq: CSCI 350 or consent) Concepts of visualization and human vision system; hardware and software basics of computer graphics; visualization pipeline; data representation and processing in computer graphics; algorithms in rendering 2D and 3D geometry; image processing; applications of visualization in science and technology.

CSCI 469  HIGH PERFORMANCE COMPUTING (3). (Prereq:  CSCI 104 or CSCI 145, BMTH 230 or CSCI/BMTH 280, and CSCI 150) Architecture and interconnection of parallel computers; parallel programming models and applications; issues in high performance computing; programming of parallel computers; general purpose GPU programming and applications.

CSCI 470  SOFTWARE TESTING AND VERIFICATION (3). (Prereq: CSCI 350 or consent) Testing theory and techniques for software systems; software development process, specification, black-box and white-box testing, configuration and compatibility testing, usability testing, quality assurance, testing planning, and documentation.

CSCI 499  COMPUTATIONAL SCIENCE CO-OP/INTERNSHIP(1-3). (Prerequisite: Computational Science major or consent of instructor) Practical full-time work experience in an area of Computational Science, selected by the student and approved by the Department Chair or Computational Science Program Coordinator. For 1 credit, 45 minimum internship work hours required; for 2 credits, 90 work hours, and for 3 credits, 135 work hours

Computational Engineering Courses (CSXE)

ENGR 101  Introduction to Engineering (3). Engineering problem solving using computers and other engineering tools.

CSXE 211  ENGINEERING GRAPHICS AND VISUALIZATION (3). (Prereq: BPHY 211 or consent of instructor) Principles and practice of visualization and graphical representation using modern computer-aided design tools.

CSXE 200  STATICS (3). (Prereq: BMTH 142). Principles of computational mechanics; equilibrium of particles and rigid bodies; distributed forces, centroids, and centers of pressure, mass, and gravity; moments of inertia; analysis of simple structures and machines. 

CSXE 260  SOLID MECHANICS (3). (Prereq: CSXE 200.) Basic concepts of stress and strain. Behavior of structures under applied loads including forces, torques, moments and combinations thereof. Deformations of elastic relationships between stress and strain.

CSXE 290  THERMODYNAMICS (3). (Prereq: BMTH 240,  BPHY 211 or consent.) Definitions, work, heat, energy. First law analysis of systems and control volumes. Second law analysis.

CSXE 310 – DYNAMICS (3). (Prereq: CSXE200.) Kinematics of particles and rigid bodies. Kinetics of particles, emphasis on Newton’s second law: energy and momentum methods for the solution of problems. Applications of plane motion of rigid bodies.

CSXE 327  DESIGN OF MECHANICAL ELEMENTS (3). (Prereq: CSXE260.) Design against static failure and fatigue failure of structural members and machine parts; design and selection of components including fasteners, welds, shafts, springs, gears, bearings, and chain drives.