CS - Computer Science --- Summer 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 - 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.