Computer Organization and Systems

CS107

Stanford School of Engineering


Description

Establish programming maturity and expand your depth of experience with this third course in Stanford’s introductory programming sequence. Become a more effective programmer and gain a complete understanding of how computer systems execute programs and manipulate data. You will gain practical experience dealing with issues of debugging, performance, portability, and robustness.

Weekly meetings will encourage hands-on learning and experimentation and it is highly recommended that local students attend lab sessions in person on the Stanford campus, however there will be ways for students to complete the lab component remotely.

Prerequisites

  • CS106B or X, or consent of instructor
  • Be an accomplished programmer with experience in C/C++ who has practical skills with recursion, dynamic data structures (pointers, linked lists, trees, graphs), data abstraction, classic data structures (lists, stacks, queues, sets, maps), and standard algorithms (searching, sorting, hashing).
  • Have an appreciation of the intrinsic value of good engineering and design. You will be expected to produce well-decomposed, readable code.

Topics include

  • C programming language
  • Data representation
  • Machine-level code and elements of code compilation
  • Computer arithmetic 
  • Performance evaluation and optimization
  • Memory organization and management

Note on Course Availability

This course is typically offered Autumn quarter.

The course schedule is displayed for planning purposes – courses can be modified, changed, or cancelled. Course availability will be considered finalized on the first day of open enrollment. For quarterly enrollment dates, please refer to our graduate certificate homepage.

041 Autumn 2020-21 Online

Pre-register Now

Dates:September 14 - November 20, 2020
Units: 3.00-5.00
Instructors: Nick Troccoli
Delivery Option:
Online
Fees:
For Credit $4,056.00-$6,760.00
Notes: Pre-registration Dates: August 10 to September 4, 2020

Computer Science Department Requirement
Students taking graduate courses in Computer Science must enroll for the maximum number of units and maintain a B or better in each course in order to continue taking courses under the Non Degree Option.

Pre-registration for this course will secure your enrollment request and ensure timely processing of your application for potential course approval. Please note: course enrollment will be confirmed after September 1, 2020; after completing your pre-registration, no further action is required on your part.

 

This course may not currently be available to learners in some states and territories.