Course descriptions and 3-minute video samples are provided below. Catalog information including CRN codes (required for registration) and course syllabi are available at the Ecampus catalog web page.
CS 161 - Introduction to Computer Science I
Overview of fundamental concepts of computer science. Introduction to problem solving, software engineering and object-oriented algorithm development and programming. Lec/lab. PREREQS: (MTH 112 or MTH 251 or MTH 251H) or Placement Test and for CS Double Degree students: BA/BS and (MTH 111 or MPT>=24 or MPAL>=061). Video of sample lecture.
CS 162 - Introduction to Computer Science II
Basic data structures. Computer programming techniques and application of software engineering principles. Introduction to analysis of programs. Lec/lab. PREREQS: (CS 161 and (MTH 231* or CS 225*) )
CS 165 - Accelerated Introduction to Computer Science (8 credits)
See descriptions above for Introduction to Computer Science I and II.
CS 225 - Discrete Structures
Formal approach to the logic of computer science, including set theory, methods of proof, discrete probability, sequences, recurrence relations, graph theory, and algorithm analysis. PREREQS: MTH 112 and for CS Double Degree students: BA/BS and (MTH 111 or MPT>=24 or MPAL>=61) Video of sample lecture.
CS 261 - Data Structures
Abstract data types, dynamic arrays, linked lists, trees and graphs, binary search trees, hash tables, storage management, complexity analysis of data structures. Lec/rec. CROSSLISTED as EECS 261. PREREQS: (CS 162 or CS 165 or EECS 162) and (CS 225 or MTH 231) Video of sample lecture.
CS 271 - Computer Architecture and Assembly Language
Introduction to functional organization and operation of digital computers. Coverage of assembly language; addressing, stacks, argument passing, arithmetic operations, decisions, macros, modularization, linkers and debuggers. PREREQS: (CS 151 or CS 161 or CS 165 or ECE 151) Video of sample lecture.
CS 275 - Introduction to Databases
Design and implementation of relational databases, including data modeling with ER or UML diagrams, relational schema, SQL queries, relational algebra, user interfaces, and administration. PREREQS: (CS 162 or CS 165 or ECE 152) Video of sample lecture.
CS 344 - Operating Systems I
Introduction to operating systems using UNIX as the case study. System calls and utilities, fundamentals of processes and interprocess communication. PREREQS: (CS 261 and (CS 271 or ECE 271) ) and experience programming in the C language. Video of sample lecture.
CS 325 - Analysis of Algorithms
Recurrence relations, combinatorics, recursive algorithms, proofs of correctness. PREREQS: (CS 261 and (MTH 232 or CS 225) ) Video of sample lecture.
CS 352 - Introduction to Usability Engineering
Basic principles of usability engineering methods for the design and evaluation of software systems. Includes the study of human-machine interactions, user interface characteristics and design strategies, software evaluation methods, and related guidelines and standards. PREREQS: (CS 151 or CS 161 or CS 165 or CS 295 or ECE 151) Video of sample lecture.
CS361 - Software Engineering I
Introduction to the "front end" of the software engineering lifecycle; requirements analysis and specification; design techniques; project management. (Writing Intensive Course) Video of sample lecture.
CS 362 - Software Engineering II
Introduction to the "back end" of the software engineering lifecycle implementation; verification and validation; debugging; maintenance. PREREQS: CS 261 and Experience with object-oriented programming and data structures (e.g. CS 161, CS 162, CS 261). CS 361 is recommended but not required. Video of sample lecture.
CS 372 - Introduction to Computer Networks
Introduction to wired/wireless network principles, organization, topologies, hardware, applications, and protocols in the OSI hierarchy context. Configuration and implementation of local area networks and intranets. Internet protocols, packet forwarding, and routing. Lec/lab. CROSSLISTED as ECE 372. PREREQS: (CS 261 and (ECE 271 or CS 271) ) and C programming and Unix familiarity. Video of sample lecture.
CS 419 - Software Projects
A group software project class in which a single term-long project is completed.
CS 494 - Web Development
Techniques and tools for designing developing, publishing, and maintaining dynamic websites on the World Wide Web. Hypertext/HTML, scripting, media integration, emerging web technologies. Web security and issues raised by Internet publishing. PREREQS: CS 101 or equivalent. Computer literacy required. Video of sample lecture.
CS 496 - Mobile and Cloud Software Development
Introduction to the concepts and techniques for developing mobile and cloud applications. PREREQS: CS 311 and students need a working knowledge of at least one operating system in order to be successful in developing mobile and cloud software. Video of sample lecture.