CS106A - Programming Methodology
Stanford Univ. - CS106A - Programming Methodology. This consists of 28 lectures given by Professor Mehran Sahami.
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)
| Lecture 01 - An Overview of the Course, Discussing computer programming |
| Lecture 02 - Programming with Karel, Control Structures in Karel |
| Lecture 03 - Program-solving in Karel, Common Errors, Comments, and Advanced Instructions |
| Lecture 04 - The history of computing, Introduction to Java |
| Lecture 05 - Graphics, Objects, Classes, Variables, and Values pertaining to Java |
| Lecture 06 - Control Statements, Boolean Expressions |
| Lecture 07 - Loops, Function, Methods, and Returning |
| Lecture 08 - Information Hiding, Parameter Passing Between Methods, The RandomGenerator Class |
| Lecture 09 - Strings, Writing your own class, Creating a new class, Using the created class, Using JavaDoc |
| Lecture 10 - Importance of private variables, The acm.graphics package, interfaces and methods |
| Lecture 11 - GImage class, GCompound class, GPolygon class, and Event driven programs |
| Lecture 12 - Enumeration, Characters, The ASCII Subset of Unicode |
| Lecture 13 - String Processing, Tokenizers, Encryption |
| Lecture 14 - Memory, Different Sections of Memory for Different Types of Variables, Memory Allocation Mechanics |
| Lecture 15 - File processing, Code for Opening, Reading and Closing Files, Exceptions, Code for Writing Files |
| Lecture 16 - Array, Creating a New Array, The ++ Operator, Size of an Array, An Array as a Parameter |
| Lecture 17 - Multi-dimensional Arrays, An ArrayList, The Template Class, Methods in the ArrayList Class |
| Lecture 18 - Multi-dimensional Arrays, The ArrayList Way, Pros and Cons: ArrayList vs. Array, Debugging |
| Lecture 19 - An Interface, How are Interfaces Implemented, A Map, The HashMap Class, Methods of the HashMap |
| Lecture 20 - Introduction to Graphical User Interface (GUI), Interactors |
| Lecture 21 - Review of Interactors and Listeners, Example Programs |
| Lecture 22 - Overview of NameSurfer - The Next Assignment |
| Lecture 23 - Sorting and Algorithmic Efficiency, Searching |
| Lecture 24 - Principles of Good Software Engineering for Managing Large Amounts of Data, Principles of Design |
| Lecture 25 - Defining a Social Network for Our Purposes, See What the Program Needs to Do |
| Lecture 26 - Introduction to the Standard Java Libraries, A JAR File, Creating a JAR File, Creating an Applet |
| Lecture 27 - Life After CS106A, The CS Major, Other Possible Majors |
| Lecture 28 - The Graphics Contest Winners, Review for the Final |
| Web.. |
CS106A - Programming Methodology
Instructors: Professor Mehran Sahami. Handouts. Assignments. Exams. This course is an introduction to the engineering of computer applications emphasizing modern software engineering principles.
see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111
|