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.