Computer Science Courses -- Fall 2024 & intersession/Spring 2025
CS - Computer Science --- Fall 2024
CS A131 --- Python Programming I
Introduction to fundamental concepts and techniques for writing software in the Python programming language. Covers the syntax and semantics of data types, expressions, exceptions, control structures, Input/output, methods, classes, and pragmatics of Python programming.
CS A150 --- C++ Programming Language 1
First course in ANSI/ISO Standard C++ programming language. Topics include data types, strings, operators, expressions, control flow, input/output, functions, pointers, arrays, preprocessor, streams, enumerated data type, dynamic memory allocation, objects, classes, vectors, inheritance, object-oriented design and recursion. This course may also be offered online.
CS A170 --- Java Programming 1
A first Computer Science course taught using the Java programming language. Students will build Java applications. Emphasis will be placed on programming fundamentals such as variables, selection and loops as well as object-oriented programming concepts including classes and inheritance. This course may also be offered online.
CS A200 --- Data Structures
A study of data abstraction and algorithm analysis. Data structures include lists, stacks, queues, trees, tables, and graphs. Algorithms include searching, sorting, pattern-matching, tree traversal, and balancing. This is a core course for students who want to study advanced programming, computer science, or engineering.
CS A216 --- Computer Architecture
A course in the architecture of computers. Topics will include Boolean algebra and computer arithmetic, digital logic, micro and macro architecture, Assembly language, performance, datapath and control, memory hierarchies, interfacing and peripherals, and multiprocessing.
CS A220 --- Software Engineering
Introduction to the concepts, methods, and current practice of software engineering. Study the lifecycle of a software system. Employ engineering methods, processes, techniques, and measurement. Use of tools to manage software development. Project work is required to illustrate the various elements.
CS A250 --- C++ Programming Language 2
Second course in ANSI/ISO Standard C++ programming language. Topics include sorting and searching, data structures, operator overloading, memory management, exception handling, name scope management, polymorphism, templates, STL containers, STL algorithm and iterators, and functional programming.
CS A262 --- Discrete Structures
An introduction to the discrete structures used in Computer Science with an emphasis on their applications. Topics covered include functions, relations, sets, basic logic, proof techniques, basics of counting, graphs, trees, and discrete probability.
CS A272 --- Java Programming 2
A second course in Java programming language. Topics include object-oriented design, inheritance, interfaces, abstract and anonymous inner classes, I/O & exceptions, generics, regular expressions, databases, XML, GUI construction, graphics and multimedia, Java collections, data structures, lambda expressions and multithreading. This course may also be offered online.
CS - Computer Science --- Intersession/Spring 2025
CS A131 --- Python Programming I
Introduction to fundamental concepts and techniques for writing software in the Python programming language. Covers the syntax and semantics of data types, expressions, exceptions, control structures, Input/output, methods, classes, and pragmatics of Python programming.
CS A150 --- C++ Programming Language 1
First course in ANSI/ISO Standard C++ programming language. Topics include data types, strings, operators, expressions, control flow, input/output, functions, pointers, arrays, preprocessor, streams, enumerated data type, dynamic memory allocation, objects, classes, vectors, inheritance, object-oriented design and recursion. This course may also be offered online.
CS A170 --- Java Programming 1
A first Computer Science course taught using the Java programming language. Students will build Java applications. Emphasis will be placed on programming fundamentals such as variables, selection and loops as well as object-oriented programming concepts including classes and inheritance. This course may also be offered online.
CS A200 --- Data Structures
A study of data abstraction and algorithm analysis. Data structures include lists, stacks, queues, trees, tables, and graphs. Algorithms include searching, sorting, pattern-matching, tree traversal, and balancing. This is a core course for students who want to study advanced programming, computer science, or engineering.
CS A216 --- Computer Architecture
A course in the architecture of computers. Topics will include Boolean algebra and computer arithmetic, digital logic, micro and macro architecture, Assembly language, performance, datapath and control, memory hierarchies, interfacing and peripherals, and multiprocessing.
CS A231 --- Python Programming II
Advanced Python programming. Covers classes, modules, using the Python standard library and using third-party libraries.
CS A250 --- C++ Programming Language 2
Second course in ANSI/ISO Standard C++ programming language. Topics include sorting and searching, data structures, operator overloading, memory management, exception handling, name scope management, polymorphism, templates, STL containers, STL algorithm and iterators, and functional programming.
CS A257 --- Boolean Algebra and Logic
An introduction to the discrete structures used in Computer Science. Topics covered include basic logic, proof techniques, relations, Boolean algebra, logic gates, languages and grammars, finite-state machines, and Turing machines.
CS A262 --- Discrete Structures
An introduction to the discrete structures used in Computer Science with an emphasis on their applications. Topics covered include functions, relations, sets, basic logic, proof techniques, basics of counting, graphs, trees, and discrete probability.
CS A263 --- Probability & Stats for CS
Introduction to probability and statistics with an emphasis on their applications in Computer Science. Topics include continuous and discrete probability distributions, linear and logistic regression, creating models to use for predictive inference, and programmatic analysis of data.