Computer Science (CS/CS&)

Transfer Degree

Courses

CS& 141: Computer Science I with Java

Credits 5

This course introduces the "algorithmic thinking" and the design and implementation processes necessary for you to solve complex, real-world problems with computers. We introduce the Java programming language to learn to write programs; understand the features of programming languages; decompose problems; develop algorithms; and use important software practices. We include software architecture (structure), classes (ways of modeling things), handling data, some computer ethics, standards, and maintaining program correctness. This course and its successor, CS 142 will help you become more competent and comfortable on the paths to both computer science and professional software development. CS 100 is strongly recommended for students with no programming experience. This class may include students from multiple sections. (Elective)

CS 100: Introduction to Computer Science

Credits 5

An introduction to fundamentals of computer science. Topics covered include algorithmic design; problem-solving techniques for computer programming; fundamentals of digital logic and computer organization; the role of the operating system; introductory programming methodology, including variables, assignment statements, control statements and subroutines (methods); programming paradigms; the compilation process; theoretical limits of computation; database structures; and social and ethical issues. This class may include students from multiple sections. (Natural Sciences, Elective)

CS 142: Computer Science II with Java

Credits 5

This course continues CS& 141, delving more deeply into computer science principles and professional software development principles and practices. We cover and use object-oriented and functional programming paradigms, basic top-down context-derived software processes and architectures, abstract data types, generics, data structures, recursion, complexity analysis of algorithms and O-notation, computer ethics, handling and querying data, unit tests, developing to standards, modeling physical processes, graphical user interfaces. We use a modern, intelligent professional development environment to implement concepts concretely. This course will help you become more competent and comfortable on the paths to both computer science and professional software development. This class may include students from multiple sections. (Elective)