An introduction to the theory, evaluation, and implementation of computer operating systems. Topics include memory, process and resource management, elementary Queuing and network models, and scheduling. Prerequisites: CS 220 & CS 240.

An introduction to digital computer systems including a treatment of logic and digital circuits, data representation, device characteristics and register transfer notation covered in a manner that stresses application of basic problem solving techniques to both hardware and software design. Students gain experience programming in an assembly language to reinforce these systems and design concepts.

An introductory study of computer science software development concepts. Python is used to introduce a disciplined approach to problem solving methods, algorithm development, software design, coding, debugging, testing, and documentation in the object oriented paradigm. This is the first course in the study of computer science.