An overview of the entire discipline of Computer Science is presented. Topics covered are machine architecture, software (including fundamental programming concepts), and data organization. Additional topics include professional ethics and social implications.
This is an introductory course in object-oriented programming using Java including recursion and exception handling. The skills learned in this course are applicable to all programming tasks.
This course is designed as an introductory treatment of the data structures which may be used in computer storage to represent the information involved in solving problems. Topics include the study of contiguous and linked stacks and queues, searching and sorting algorithms. Programming work expands on the concepts of object-oriented design.
A continuation of the study of advanced data structures is the focus of this course. Topics include advanced sorting techniques, string matching algorithms, trees and graphs.
This is an in-depth coverage of modern operating systems. Topics include: CPU and job scheduling, memory management, synchronization and concurrency, and deadlock. This course involves three or four major design and implementation projects.
An analysis of data communication hardware and systems is the focus of this course. Topics include telecommunications, network architecture and analysis, TCP/IP protocols, security, and installation.
Computer Architecture | One semester (1/2 unit of credit)
This course is designed to introduce the students with the concept of computer architecture. Topics presented in this class include Solid State Electronics and Device Physics, Number Systems and Computer Arithmetic, Boolean Algebra and Karnaugh Map, Digital Logic and Circuits, ALU/CPU Design and Instruction Set Architecture (ISA). Students are also introduced to hands on Arduino microcontroller programming. Good mathematics, physics and programming skills are useful to have a better understanding what happens at the hardware level.