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 – INTRODUCTION TO HTML AND CSS (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 – SOFTWARE DESIGN AND DEVELOPMENT (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 – OBJECT-ORIENTED PROGRAMMING I (4). (Prereq: Placement in MATH 141 or grade of C or better in MATH 115) Problem solving, algorithmic design and programming. Three lectures and two laboratory hours per week. Open to all majors.

CSCI 146 – OBJECT-ORIENTED PROGRAMMING II (4). (Prereq: Grade of C or better in CSCI 145 and grade of C or better in MATH 141) 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 COMPUTER SCIENCE (3). (Prereq: MATH 115 or MATH 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 202 – INTRODUCTION TO FRONT-END WEB DEVELOPMENT (3).  (Prereq: CSCI 150 and CSCI 145, or consent) Application of programming techniques to the development of interactive, event-driven web applications. Brief coverage of document markup (HTML) and styling (CSS)  essentials, followed by significant coverage of scripting languages, libraries, and frameworks for manipulating the Document Object Model.

CSCI 207  COMPUTER SYSTEM ADMINISTRATION (3). (Prereq: CSCI 150 and CSCI 145, or consent) Account maintenance, backups, restoration, system configuration, resource allocation and monitoring, network management, peripheral administration, emphasis on Microsoft Windows and UNIX/Linux systems.

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: MATH 141 or 174) Number systems, Boolean algebra, logic design, sequential machines.

CSCI 212  INTRODUCTION TO COMPUTER ARCHITECTURE (3). (Prereq: CSCI 211) Organization and architecture of computer systems hardware; instruction set architectures; addressing modes; register transfer notation; processor design and computer arithmetic; memory systems; hardware implementations of virtual memory, and input/output control and devices.

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

CSCI 250 – MOBILE APPLICATION DEVELOPMENT (Prereq: CSCI 145 or consent.)  Introduction to mobile application development fundamentals including development platforms, user interface design, data persistence, map Application Programming Interface.

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/MATH 280 or MATH230, 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). {=MATH 280} (Prereq. MATH 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 MANAGEMENT SYSTEMS I  (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 – INTRO TO DATA STRUCTURES AND ALGORITHMS (3). (Prereq: CSCI/MATH 280 [or MATH 230 and MATH 242], and CSCI 146 or CSCI 240 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 240 and CSCI/MATH 280 [or MATH 230] 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 401  INFORMATION SECURITY PRINCIPLES (3).  (Prereq: CSCI 201, or consent) This course extends fundamental computer security concepts, practices, and issues, introducing students in the broader field of information security. Topics include: common attack/threat vectors; information security planning; information security prevention, detection, and response tools and approaches; risk and risk assessment; human factors in information security; legal, ethical, and professional issues.

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 420  DATABASE MANAGEMENT SYSTEMS II (3). (Prereq: CSCI 320, or consent) This course explores advanced data manipulation and server-side programming techniques for use in enterprise Relational Database Management Systems (RDBMS). Topics include: platform specific programmatic extensions to Structured Query Language (SQL); stored procedure, function, and package implementation; trigger creation and usage; query optimization techniques; security considerations.

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: MATH 230 or CSCI/MATH 280, STAT 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 437  INFORMATION TECHNOLOGY PROJECT MANAGEMENT (3).  (Prereq: CSCI 150, or consent) This course introduces students to project management concepts, techniques, and tools used by project managers to plan, initiate, manage and close information technology projects. Topics include: the systems approach to project management; application of a project management framework to the planning and management of scope, cost, people, expectations, risk, communications, and procurement; agile methodologies; project management software.

CSCI 450  MODELING AND SIMULATION (3). (Prereq: CSCI 350 or consent, and STAT 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, MATH 230 or CSCI/MATH 280, STAT 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 and CSCI 365, 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, MATH 230 or CSCI/MATH 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 SYSTEM PROCESS AND MANAGEMENT (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  COMPUTER 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

STAT B340 – INTRODUCTION TO PROBABILTY AND STATISTICS (3). (Prerequisite: MATH B240 or consent of instructor) Set theory; distributions of both discrete and continuous random
variables; moments (including moment generating and characteristic functions); limit theorems; multivariate distributions including marginal and conditional distributions; confidence intervals and hypothesis tests.

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: PHYS 211 or consent of instructor) Principles and practice of visualization and graphical representation using modern computer-aided design tools.

CSXE 200  STATICS (3). (Prereq: MATH 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: MATH 240,  PHYS 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.