1

CS106A: Programming Methodology (Stanford Univ.). Instructor: Professor Mehran Sahami.

FREE
This course includes
Hours of videos

777 years, 8 months

Units & Quizzes

28

Unlimited Lifetime access
Access on mobile app
Certificate of Completion

This course is an introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Programming Methodology teaches the widely-used Java programming language along with good software engineering principles. Emphasis is on good programming style and the built-in facilities of the Java language. The course is explicitly designed to appeal to humanists and social scientists as well as hard-core techies. In fact, most Programming Methodology graduates end up majoring outside of the School of Engineering. (from see.stanford.edu)

Course Currilcum

  • Lecture 01 – An Overview of the Course, Discussing Computer Programming Unlimited
  • Lecture 02 – Programming with Karel, Control Structures in Karel Unlimited
  • Lecture 03 – Program-solving in Karel, Program Decomposition, The Idea of an Algorithm Unlimited
  • Lecture 04 – The History of Computing, Introduction to Java, Classes and Objects Unlimited
  • Lecture 05 – Variables, Values and Types, Arithmetic Expressions Unlimited
  • Lecture 06 – Control Statements, Boolean Expressions Unlimited
  • Lecture 07 – Loops, Function, Methods, and Returning Unlimited
  • Lecture 08 – Information Hiding, Pseudorandom Numbers, The RandomGenerator Class Unlimited
  • Lecture 09 – Stylistic Expectations, Engineering for Reuse, Using JavaDoc Unlimited
  • Lecture 10 – The acm.graphics Package, The Collage Graphics Model Unlimited
  • Lecture 11 – GImage Class, GCompound Class, GPolygon Class, and Event Driven Programs Unlimited
  • Lecture 12 – Character Data, The Java String Class Unlimited
  • Lecture 13 – String Processing, Tokenizers, Encryption Unlimited
  • Lecture 14 – Objects and Memory, More on Parameter Passing Unlimited
  • Lecture 15 – File Processing, Exception Handling Unlimited
  • Lecture 16 – Array, Creating a New Array, The ++ Operator, Size of an Array Unlimited
  • Lecture 17 – Arrays in Java: Multi-dimensional Arrays, An ArrayList, The Template Class Unlimited
  • Lecture 18 – A Wrap Up of Multi-dimensional Arrays, The ArrayList Way, Debugging Unlimited
  • Lecture 19 – Java Collections Framework, The HashMap Class, Object-oriented Design Unlimited
  • Lecture 20 – Introduction to Graphical User Interface, Swing interactors, Action Listeners Unlimited
  • Lecture 21 – Review of Interactors and Listeners, Example Programs Unlimited
  • Lecture 22 – Overview of NameSurfer – The Next Assignment, Components and Containers Unlimited
  • Lecture 23 – Sorting and Searching Algorithmic Analysis Unlimited
  • Lecture 24 – Data Structures, Programming Patterns, The FlyTunes Example Program Unlimited
  • Lecture 25 – Additional Topics: Defining a Social Network for Our Purposes Unlimited
  • Lecture 26 – Introduction to the Standard Java Libraries, The Main Method Unlimited
  • Lecture 27 – Life After CS106A, The CS Major, Other Possible Majors Unlimited
  • Lecture 28 – The Graphics Contest Winners, Review for the Final Unlimited