16.01.2015 Views

CS2013-final-report

CS2013-final-report

CS2013-final-report

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CS 107: Computer Organization and Systems<br />

Introduction to the fundamental concepts of computer systems. Explores how computer systems<br />

execute programs and manipulate data, working from the C programming language down to the<br />

microprocessor. Topics covered include: the C programming language, data representation,<br />

machine-level code, computer arithmetic, elements of code compilation, memory organization<br />

and management, and performance evaluation and optimization. Prerequisites: 106B or consent<br />

of instructor.<br />

URL: http://www.stanford.edu/class/cs107/<br />

CS 108: Object-Oriented Systems Design<br />

Software design and construction in the context of large OOP libraries. Taught in Java. Topics:<br />

OOP design, design patterns, testing, graphical user interface (GUI) OOP libraries, software<br />

engineering strategies, approaches to programming in teams. Prerequisite: 107.<br />

URL: http://www.stanford.edu/class/cs108/<br />

CS 109: Introduction to Probability for Computer Scientists<br />

Topics include: counting and combinatorics, random variables, conditional probability,<br />

independence, distributions, expectation, point estimation, and limit theorems. Applications of<br />

probability in computer science including machine learning and the use of probability in the<br />

analysis of algorithms. Prerequisites: 103, 106B, and multivariate calculus.<br />

URL: http://www.stanford.edu/class/cs109/<br />

(Also listed as a course exemplar in <strong>CS2013</strong>)<br />

CS 110: Principles of Computer Systems<br />

Principles and practice of engineering of computer software and hardware systems. Topics<br />

include: techniques for controlling complexity; strong modularity using client-server design,<br />

virtual memory, and threads; networks; atomicity and coordination of parallel activities; security,<br />

and encryption; and performance optimizations. Prerequisite: 107.<br />

URL: http://www.stanford.edu/class/cs110/<br />

CS 140: Operating Systems and Systems Programming<br />

Operating systems design and implementation. Basic structure; synchronization and<br />

communication mechanisms; implementation of processes, process management, scheduling,<br />

and protection; memory organization and management, including virtual memory; I/O device<br />

management, secondary storage, and file systems. Prerequisite: 110.<br />

URL: http://www.stanford.edu/class/cs140/<br />

CS 144: Introduction to Computer Networking<br />

Principles and practice. Structure and components of computer networks, packet switching,<br />

layered architectures. Applications: web/http, voice-over-IP, p2p file sharing and socket<br />

programming. Reliable transport: TCP/IP, reliable transfer, flow control, and congestion control.<br />

The network layer: names and addresses, routing. Local area networks: ethernet and switches.<br />

Wireless networks and network security. Prerequisite: 110.<br />

URL: http://www.stanford.edu/class/cs144/<br />

(Also listed as a course exemplar in <strong>CS2013</strong>)<br />

- 500 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!