CS 244: Advanced Topics in Networking
Classic papers, new ideas, and research papers in networking. Architectural principles: naming, addressing, routing; congestion control, traffic management, QoS; wireless and mobility; overlay networks and virtualization; network security; switching and routing; content distribution; and proposals for future Internet structures. Prerequisite: 144 or equivalent.
Terms: Win
| Units: 3-4
Instructors:
McKeown, N. (PI)
CS 244B: Distributed Systems
Distributed operating systems and applications issues, emphasizing high-level protocols and distributed state sharing as the key technologies. Topics: distributed shared memory, object-oriented distributed system design, distributed directory services, atomic transactions and time synchronization, application-sufficient consistency, file access, process scheduling, process migration, and storage/communication abstractions on distribution, scale, robustness in the face of failure, and security. Prerequisites:
CS 144 and
CS 249A.
Terms: Spr
| Units: 3
Instructors:
Cheriton, D. (PI)
CS 244C: Readings and Projects in Distributed Systems
Companion project option for 244B. Corequisite: 244B.
Terms: Spr
| Units: 3-6
Instructors:
Cao, P. (PI)
CS 244E: Wireless Networking
Challenges of low power wireless networking protocols and applications. Topics: the OSI model, 802.11, Bluetooth, 802.15.4, WiMAX, hardware considerations, media access, radio propagation models, flooding, dissemination, gossip, link behavior, opportunistic reception, network coding, modulation, TCP. Students read papers and build working protocols on the 100-mode Stanford wireless testbed.
Terms: Spr
| Units: 3
Instructors:
Levis, P. (PI)
CS 245: Database Systems Principles
File organization and access, buffer management, performance analysis, and storage management. Database system architecture, query optimization, transaction management, recovery, concurrency control. Reliability, protection, and integrity. Design and management issues. Prerequisites: 145, 161.
Terms: Win
| Units: 3
Instructors:
Garcia-Molina, H. (PI)
CS 247: Human-Computer Interaction Design Studio
Project-based. Methods used in interaction design including needs analysis, user observation, idea sketching, concept generation, scenario building, storyboards, user character stereotypes, usability analysis, and market strategies. Prerequisites: 147 and 106A or equivalent background in programming.
Terms: Win
| Units: 3-4
Instructors:
Verplank, W. (PI)
;
Winograd, T. (PI)
CS 247L: Human Computer Interaction Technology Laboratory
Hands-on introduction to contemporary HCI technologies. Interaction design with Adobe Flash, mobile development, physical computing, and web applications. Corequisite: 247.
Terms: Win
| Units: 1
Instructors:
Winograd, T. (PI)
CS 248: Interactive Computer Graphics
Rendering, animation and modeling for interactive computer graphics. Rasterization, graphics pipeline, graphics hardware; texture mapping and its applications; lighting and surface shading; rendering optimization; keyframing; physics simulation. Programming projects and final project. Prerequisite:
CS148.
Terms: Win
| Units: 3-5
Instructors:
Koltun, V. (PI)
CS 249A: Object-Oriented Programming from a Modeling and Simulation Perspective
Topics: large-scale software development approaches, encapsulation, use of inheritance and dynamic dispatch, design of interfaces and interface/implementation separation, exception handling, design patterns, minimalizing dependencies and value-oriented programming. The role of programming conventions/style/restrictions in surviving object-oriented programming for class libraries, frameworks, and programming-in-the-large; general techniques for object-oriented programming. Prerequisites: C, C++, and programming methodology as developed in 106B or X, and 107 (107 may be taken concurrently). Recommended: 193D.
Terms: Aut
| Units: 3
Instructors:
Cheriton, D. (PI)
CS 249B: Advanced Object-Oriented Programming
How to produce reasonable-cost, high quality software such as next-stage, large-scale systems that handle life-critical systems. Software process, people, practice, and audit: integrating invariant checks with production software; collection implementation; generic programming and templates; design of value types; named descriptions for large value types; memory management; controlling placement; locality and consumption; concurrency with modular object-oriented programming. Inheritance: when and why multiple inheritance naming, directories, manager, and other design patterns.
Terms: Win
| Units: 3
Instructors:
Cheriton, D. (PI)
Filter Results: