Stanford / Computer Science / Programming Languages
Lecture : Karel and Java
By Mehran Sahami | Programming Methodology
Lecture 3 of 28
Rate this lecture -
Add to My Courses
More Lectures -
Course Description
This course is the largest of the introductory programming courses and is one of the largest courses at Stanford. Topics focus on the 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.

Prerequisites: The course requires no previous background in programming, but does require considerable dedication and hard work.
Courses Index
1 : The Structure and Interpretation of Computer Programs   (Brian HARVEY / Berkeley)
2 : Programming Abstractions   (Julie Zelenski / Stanford)
3 : Programming Paradigms   (Jerry Cain / Stanford)
4 : Introduction to Computer Science and Programming   (Eric Grimson / MIT)
5 : Computer Language Engineering   (Martin Rinard / MIT)
6 : Multicore Programming Primer   (Rodric Rabbah / MIT)
7 : Introduction to Computer Science I   (David Malan / Harvard University)
8 : Understanding Computers and the Internet   (David Malan / Harvard University)
9 : Exposing Digital Photography   (Dan Armendariz / Harvard University)
10 : Building Dynamic Websites   (David Malan / Harvard University)
11 : Building Mobile Applications   (David Malan / Harvard University)
12 : XML with Java, Java Servlet, and JSP   (David Malan / Harvard University)
13 : Developing Mobile Apps with Web Technologies   (Multiple Instructors / Stanford)
14 : iPhone Application Development   (Multiple Instructors / Stanford)
15 : iPhone Application Programming   (Multiple Instructors / Stanford)
16 : Unix OS   (Bigbean Counter / International Technology University)
17 : Android Apps. Development   (Bigbean Counter / International Technology University)
18 : Strategic Management of IT   (Bigbean Counter / International Technology University)
19 : HTML and CSS Programming   (Bigbean Counter / International Technology University)
20 : Oracle Database   (Bigbean Counter / International Technology University)