Course Information


CS 149: Operating Systems

Course Objectives


Fundamentals: Contiguous and non-contiguous memory management; processor scheduling and interrupts; concurrent, mutually exclusive, synchronized and deadlocked processes; files. Substantial programming project required.




CS 49J: Programming in Java

Course Objectives


Introduction to the Java programming language and libraries. Topics include fundamental data types and control structures, object-oriented programming, string processing, input/output, and error handling. Use of Java libraries for mathematics, graphics, collections, and for user interfaces.




CS 235: User Interface Design

Course Objectives


Human-computer interaction principles. Direct manipulation, focus plus context, interaction history; interfaces for websites and website collections; usability testing, role of metaphors; case studies; advanced topics include information visualization, interfaces for collaboration, intelligent interfaces, and software agents.