Fundamentals: Contiguous and non-contiguous memory management; processor scheduling and interrupts; concurrent, mutually exclusive, synchronized and deadlocked processes; files. Substantial programming project required.
Prerequisite: CS 146 or SE 146 (with a grade of "C-" or better).
Theoretical aspects of compiler design, including parsing context free languages, lexical analysis, translation specification and machine-independent code generation. Programming projects to demonstrate design topics.
Prerequisite: CS 47 or CMPE 102, CS 146, and CS 154 (with a grade of "C-" or better in each) or instructor consent.
Development and deployment of multi-tier web-based applications. Introduction to HTML, XML, enterprise design patterns, web services and database access.
Prerequisite: CS 46B (with a grade of "C-" or better).
We will study the principles of designing, developing, and evaluating a compelling and effective user interface (UI) and experience (UX) for desktop, web, and mobile applications. Topics will include:
Prerequisite: Experience developing desktop, web, or mobile applications, or instructor consent.