CS - Computer Science

CS160 Computer Science Orientation (Course offered online)

Credits 4Summer - even years/Fall/Winter/Spring

Registration Requirement: RD090 and WR090, or IECC201R and IECC201W; and MTH095; each with a grade of "C" or better, or placement above stated course levels.

This course explores the discipline of computer science and is intended for both computer science majors and students in other disciplines. This course provides an overview of computer architecture, software development engineering, data organization and representation, problem-solving strategies, ethics and the history of computing and its influences on society. The student begins to develop the basics of software development skills and is exposed to both low-level and high-level programming languages.

This course fulfills: Non-Lab Science

View Course Outcomes:

  1. Define, construct and test simple algorithms, both manually and using software presented in the course.
  2. Discuss the professional and ethical issues involved in the use of computers.
  3. Identify and discuss different fields within computer science, including the nature of the work and requirements for entry into the workforce.
  4. Identify and discuss the roles of the various parts of computer hardware.

CS161 Computer Science I

Credits 4Fall/Winter

Registration Requirement: RD090 and WR090, or IECC201R and IECC201W; and MTH095, or MTH098; each with a "C" grade or higher, or placement above stated levels.

This course is an introduction to fundamental concepts of computer science including problem-solving, algorithm and program design, data types, control structures, repetition structures, functions and arrays. This course is designed for computer science majors and for students in other disciplines.

This course fulfills: Non-Lab Science

View Course Outcomes:

  1. Design and write pseudocode algorithms and flowcharts to solve given problems.
  2. Explain the structural components (syntax) and usage rules (semantics) of a programming language such as C++.
  3. Trace program code, identifying and recommending corrections for any errors.
  4. Write error-free programs using variables, constants, arrays, functions, control structures, repetition structures and files.

CS162 Computer Science II

Credits 4Winter/Spring

Registration Requirement: CS161 and MTH095 or higher, excluding MTH098.

This course is an introduction to object-oriented programming and to software engineering. Students will write programs that use structs, classes, inheritance and polymorphism to manage objects. Additional topics include recursion, information hiding, testing, and the use of debugging tools.

This course fulfills: Non-Lab Science

View Course Outcomes:

  1. Apply the principles of object-oriented design in the development of a complete software package, given a set of customer specifications.
  2. Develop and implement a plan for testing a program for correctness.
  3. Implement advanced language concepts and syntax such as polymorphism and inheritance in class definitions.

CS205 Systems Programming and Architecture

Credits 4Spring

Registration Requirement: CS162 with a grade of "C" or higher, MTH251 with a grade of "C" or higher.

This course is an introduction to computer architecture and to Assembly language, embedded in C programs. Topics include: Assembly instruction set architectures, purposes and interactions among major components of computer architecture, number representations, C programming, Assembly programming, and the implementation of high-level programming constructs in machine code. Required for MTM-CS.

This course fulfills: Non-Lab Science

View Course Outcomes:

  1. Identify and describe the major components of computer architecture and explain how the architecture relates to the issues of data representation, resource management, and storage.
  2. Compare and contrast the development and implementation of several instruction set architectures and justify choices made in the development process.
  3. Design and implement programs in the C programming language to solve problems that involve use of various data types, programming constructs, and sections of embedded assembly language.\\n
  4. Design and implement assembly language programs to solve specific problems using various data types and programming constructs.

CS250 Discrete Structures I

Credits 4Fall

Registration Requirement: CS161 and MTH251 with a grade of "C" or better; or placement above stated course level.

This course is recommended for students transferring in Computer Science, Software Engineering and Computer Engineering. CS 250 is an introduction to the mathematical elements of computer science. Topics include: sets, graphs, trees, functions, recursive definitions, solving recurrences, relations, proof techniques, counting techniques and discrete probability.

This course fulfills: Non-Lab Science

View Course Outcomes:

  1. The student will apply the principles of graph theory and combinatorial analysis to provide a solution to the problem and discuss alternative solutions, given a problem related to a specific computer network model.
  2. The student will design and implement a program that uses counting techniques to compute worst-case and best-case comparisons for simple decision trees, given a simple, finite structure.
  3. The student will provide recursive and explicit solutions to solve the problem, given a discrete mathematical problem.

CS251 Discrete Structures II

Credits 4Winter

Registration Requirement: CS250 and MTH251 with a grade of "C" or better, or higher placement on the college placement test.

This course is recommended for students transferring in Computer Science, Software Engineering and Computer Engineering. Topics include: logic, propositions and predicate calculus, formal reasoning, deduction, resolution, formal proofs, inference and algebraic properties of Boolean expressions and abstract data types.

This course fulfills: Non-Lab Science

View Course Outcomes:

  1. Given a first-order well-formed formula (wff), students will transform the wff into clausal form.
  2. The student will develop a equivalence proof, given a statement using propositional or predicate calculus.
  3. The student will write a recursive definition on paper and in a programming language to solve the function, given a function representing an abstract data type.

CS260 Data Structures

Credits 4Fall/Spring

Registration Requirement: CS162 with a grade of "C" or higher, and MTH111 or MTH111Z with a "C" or higher.

This course is an introduction to data abstraction with formal specification. Topics covered include elementary algorithm analysis; basic concepts of data and its representation inside the computer; linear, linked and orthogonal lists; and tree structures. Data structures are implemented as abstractions and used to execute sorting and search strategies and data management.

This course fulfills: Non-Lab Science

View Course Outcomes:

  1. Design a solution and implement a program to solve a specific problem that requires the use of a container class, such as a linked list, stack, queue, or binary tree.
  2. Determine the organizational (time) complexity of an algorithm that can be solved using different data structures.
  3. Identify an appropriate data structure to use to manage a specific data set and function.

Course fees are subject to change. Additional section fees (web, hybrid, etc.) may apply.

Online option regularly offered

Cultural Literacy course