CS 106A: Programming Methodology

Programming Methodology (CS106A) is an Introduction to the engineering of computer applications emphasizing modern softw
Instructed by Stanford University

Video Error

We tried several times to play your video but there was an unforeseen error. We have notified our engineers.

Visit https://helpx.adobe.com/flash-player.html to check that Flash is enabled on your browser.

With Flash enabled, please try again in a few minutes or contact support.

  • Lectures 20
  • Video 16 Hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

Course Description

Programming Methodology (CS106A) is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.

What am I going to get from this course?

  • Over 20 lectures and 16 hours of content!

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

49:47
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). In the first lecture of the quarter, Professor Sahami provides an overview of the course and begins discussing computer programing.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
48:20
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). In the second lecture, Professor Sahami introduces Karel and shows the commands associated with the program.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
50:31
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami finishes his lecture on the program Karel by discussing common errors, comments, and advanced instructions.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
48:28
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami moves into the history of computing and introduces the program Java. CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
49:15
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami lectures on graphics, objects, classes, variables, and values pertaining to Java.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
45:58
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami continues to talk about expressions, variables, and values. He then finishes his lecture on conditions, scopes, if statements, and different loops.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
51:09
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami recaps on CASTs, then continues talking about loops, function, methods, and returning. CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
48:44
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami reviews what he covered on methods and functions and then goes into more detail.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
52:26
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami introduces 2 new concepts, and he shows the class how to combine the previous topics and lectures together.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
46:59
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami lectures on classes, constructors, instance variables, setters, strings, extending, interface, labels, and GArcsCS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
49:50
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami lectures on GObjects, GImage, Gcompound, and Gpolygons. He then shows how to incorporate the mouse and keyboard into the graphics.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
49:17
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami lectures on Enumeration.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
46:35
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami lectures on string processing and characters.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
46:20
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Profesor Sahami lectures on memory and helps the students understand what happens to a computer internally when programing. CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
48:03
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami recaps on pointers and memory. He then lectures on reading files, creating files, and over writing files.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
49:48
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami introduces the topic Array and shows how to create one. CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
50:23
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami wraps up arrays and introduces array lists. CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
46:32
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami wraps up arrays and introduces the term debugging.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
49:41
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami reintroduces interfaces and elaborates on the topic.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
44:52
Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami introduces a new topic "GUI" or Graphical User Interface.CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.

Instructor Biography

Join the biggest student community

14,000,000

Hours of video content

42,000,000

Course Enrollments

10,000,000

Students

Reviews

Average Rating
4.6
Details
  1. 5 Stars
    25
  2. 4 Stars
    4
  3. 3 Stars
    4
  4. 2 Stars
    0
  5. 1 Star
    0
    • Amir Abushanab

    Best way to learn Java

    Don't be fooled by the sub-par, outdated audio and video quality or lack of eye-popping visuals, this is so far the best course for both absolute beginners and intermediate programmers looking to add some elegance to their code. The professor is much better than any at my university, the lectures are very informative without being a total bore. Plus you can follow-up with the current class taking the course. Then when you are done, you can keep going to 106b and 107! AND IT'S ALL FREE TO BOOT! THANK YOU STANFORD!

    Edit: Apparently some lectures are missing at the end, but no biggie they are on youtube

    • Alexander Marshall

    Good Course

    The instructor is great, the material is highly helpful, and you will learn a whole way of thinking about programming that will be extremely helpful in any context.

    • Jonas Lomholdt

    Best programmind introduction in the world!

    This is the best introductory course to programming you will ever take. Following allong projects that are just challenging enough for you to become better, and fun enough to keep going at it until you get it right.

    • Software developer Nandakishor Jahagirdar

    awesome

    awesome

    • Priscilla P. Wood

    Excellent course, Professor Sahami is engaging, funny and full of knowledge! Very easy to understand!!

Show more reviews
Ready to start learning?
Enroll For Free Now