• Home
  • Blog
  • Newsletter
  • Site Map

Best Online Short Courses

Self-paced and Tutor-led Online Education Suggestions:

Introduction to Computer Science | Programming Methodology – A Free Course

March 4, 2014

progmeth

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.

Lecture 1 – 50 min
Topics: Welcome to CS106A, Course Staff, Why is the class called Programming Methodology?, Are you in the right class?, Class Logistics, Assignments and Grading, Extensions, Midterm and Final, Grade Breakdown, The Honor Code, Why Karel?

Lecture 2 – 48 min
Topics: Handout Information, Section Sign-up, Karel Commands, An Algorithm vs Program, Syntax of a Karel Program, Running a Karel Program, Creating Methods, SuperKarel, A for Loop, A While Loop, Karel Conditions, If Statement, Putting it All Together

Lecture 3 – 51 min
Topics: Karel and Java, Common Errors, Comments, Pre-conditions and Post-conditions, Decomposition, The DoubleBeepers Example, Importance of Good Software Engineering, The Right Decomposition, The CleanUpKarel Example

Lecture 4 – 48 min
Topics: The History of Computing, Computer Science vs Programming, What Does the Computer Understand?, The Compilation Process, Java is an Object Oriented Language, Inheritance, Instance of a Class, The acm.program Hierarchy, Your First Java Program, A ConsoleProgram Example, The Graphics Window, The Sending-Messages-to-a-GLabel Example

Lecture 5 – 49 min
Topics: Variables, Data Types for Variables, Syntax for Using Variables, Classes as Types, Objects as Variables, Invoking Methods on Objects, Graphics Coordinates, Operations on the GObject Class and its Subclasses, Drawing Geometrical Objects, A FunGraphics Example, Expressions and Operators

Lecture 6 – 56 min
Topics: readInt() and readDouble(), The Division Operator w.r.t ints and Doubles, Order of Precedence for Operators, Type Casting, Shorthands, Constants, The Boolean Data Type, Value Comparisons, Boolean Expressions, Short Circuit Evaluation, Statement Blocks, Scope of Variables, Cascading if, The Switch Statement, The For Loop, The While Loop

Lecture 7 – 51 min
Topics: The Loop and a Half Problem, For Versus While Loop, The CheckerBoard Program Example, Methods in Java, Examples of Methods, The FactorialExample Program, Returning Objects from Methods

Lecture 8 – 49 min
Topics: Information Hiding, The Void Return Type, Parameter Passing Between Methods, Bad Times with Methods, Using Classes, Instance variables vs Local Variables, The RandomGenerator Program Example, The RollDice Program Example, The setSeed() Method

Lecture 9 – 52 min
Topics: Strings, Writing Your Own Class, Public and Private Visibility, Creating a New Class, The Constructor Method, Shadowing of Variables and the ‘this’ Keyword, Using the Created Class, Objects are Called by Reference not Called by Value, Class Variables, The JavaDoc, The Student Program Example

Lecture 10 – 47 min
Topics: Importance of Private Variables, Extending the Student Class, Overriding Methods, The acm.graphics Package, GCanvas, Methods Common to All GObjects, Interfaces and Methods Defined by Them, The BouncingBall Program Example, The Geometry of the GLabel Class, The GArc Class

Lecture 11 – 50 min
Topics: The GImage Class, The GPolygon Class, The GCompound Class, Event Driven Programs, The ClickForFace Program Example, Responding to Mouse Events, Responding to Keyboard Events, The UFO program Example

Lecture 12 – 49 min
Topics: Enumeration, Characters, The ASCII Subset of Unicode, Reading Characters, Math on Characters, char as a Primitive Type; the Character Class, Strings and Their Manipulations

Lecture 13 – 47 min
Topics: String Processing, Tokenizers, Encryption

Lecture 14 – 46 min
Topics: Memory, Different Sections of Memory for Different Types of Variables, Memory Allocation Mechanics, The Pointer Viewpoint, The Binky Pointer Fun Video

Lecture 15 – 48 min
Topics: Pointer Recap, Why are Objects ‘Call by Reference’ Instead of ‘Call of Value’?, Wrapper Classes for Primitive Types, Files, Code for Opening, Reading and Closing Files, Exceptions, Code for Writing Files

Lecture 16 – 50 min
Topics: Array, Creating a New Array, The ++ Operator, Actual Size / Effective Size of the Array, An Array as a Parameter, Initialize an Array During Creation, An ArrayList

Lecture 17 – 50 min
Topics: Multi-dimensional Arrays, An ArrayList, The Template Class, Methods in the ArrayList Class, An Example Program Using ArrayList, ArrayLists Hold Objects, An Example Program with an ArrayList of Glabels, The GrayImage Example Program

Lecture 18 – 47 min
Topics: A Wrap Up of Multi-dimensional Arrays, The ArrayList Way, Pros and Cons : ArrayList vs. Array, Debugging, Approaches to Debugging, The Debugger in Eclipse

Lecture 19 – 50 min
Topics: An Interface, How are Interfaces Implemented, A Map, The HashMap Class, Methods of the HashMap, The Collection Hierarchy, The Map Hierarchy, An Iterator, A HashMap Example

Lecture 20 – 45 min
Topics: GUI, Interactors in the Context of a Java Program, The Swing Interactor Hierarchy, Window Regions, Creating Interactors, Example Programs, Exploring More Interactors, The InteractiveDrawFace Program Example

Lecture 21 – 48 min
Topics: Review of Interactors and Listeners, Example Programs, The Use of the Two Ways Shown in the Examples – Using getSouce and getActionCommand, TextField Example, Layouts, The Temperature Conversion Example, The TextAndGraphics Example

Lecture 22 – 46 min
Topics: Overview of NameSurfer – The Next Assignment, Components and Containers, Listeners for Components, Create a Program Which Extends Program, The ComponentListener Interface, The MusicShop Example Program, The MusicShopDisplay Example Program

Lecture 23 – 51 min
Topics: Introduction to Lecture’s material – Searching, Sorting and Algorithmic Efficiency, Searching, Linear Search, Efficiency of Linear Search, Binary Search, Efficiency of Binary Search, Comparing Search Efficiencies, Sorting, The Selection Sort Algorithm, Efficiency of Selection Sort, The Radix Sort Algorithm

Lecture 24 – 47 min
Topics: Principles of Good Software Engineering for Managing Large Amounts of Data, Principles of Design, The Collection Hierarchy, Useful Methods of Collection, The FlyTunes Example Program – An Online Music Store, Defining the Song Class, Defining the Album Class, Seeing the Program Run, Considering the Data Structures Needed, Reusing Data – Shallow Copy vs. Deep Copy, The FlyTunesStore Program Code

Lecture 25 – 47 min
Topics: Defining a Social Network for Our Purposes, See What the Program Needs to Do, The Six Degrees of Separation Phenomenon, Concurrency, A Thread, The Runnable Interface, Creating a Thread, Example Program, Having Shared Data Between Your Threads

Lecture 26 – 42 min
Topics: Introduction to the Standard Java Libraries, A JAR File, Creating a JAR File, Creating an Applet, Standard Java Programs Without Using the ACM Libraries, Other Resources – Learning More Java

Lecture 27 – 42 min
Topics: Life After CS106A, The CS Major, Other Possible Majors

Lecture 28 – 42 min
Topics: The Graphics Contest Winners, Review for the Final, Example Question 1, Example Question 2, A Wrap-up

Prerequisites: The course requires no previous background in programming, but does require considerable dedication and hard work.

Instructor: Sahami, Mehran

Price: Free

View the Playlist for the Course

Visit the Course Page

Related

Similar Posts You May Like:

Programming in CLearn C Programming With This Free Course Intensive Introduction to Computer Science – A Free Course computer scienceCS50x Introduction to Computer Science Begin ProgrammingBegin Programming: Build Your First Mobile Game – A Free Online Course Java TutorialJava Tutorial for Beginners – Part 2 73%CS50 – Introduction to Computer Science I – A Free Course matlabIntroduction To MATLAB Programming – A Free Course java tutorialJava Tutorial for Beginners – Part 3 Java TutorialJava for Complete Beginners – A Free Course Creative CodingUse Computer Programming as a Creative Discipline – Free Course

Filed Under: Computer Science, Java, Programming Tagged With: Free, Java, Programming, Swing

Search this Site

About This Site

This site provides information on self-paced and tutor-led online short courses - some of them are free, some are on special offer, and all are excellent value. Use the Search Box, the Main Topics drop-down box, or the Tag Page to find courses that interest you.

Main Topics

Tag Page

Complete List of Tags

Video Marketing Machine

Video Templates

*New customer offer! Top courses from $12.99 when you first visit Udemy.

*New customer offer! Top courses from $12.99 when you first visit Udemy.

*New customer offer! Top courses from $12.99 when you first visit Udemy. End Date: 03/31/2021.

Web Hosting Deal

Web Hosting

Get a Career in Computer Science

Coursera Purple CS Design 3

Programming Courses

Udemy Javascript course

Learn Advanced JavaScript With This Online Course

One of the top web development courses on Udemy is JavaScript: Understanding the Weird Parts. This advanced course is for modern developers who want and need to know JavaScript through and … [Read More...]

See More Courses in the Programming Category

Textbooks: Rent. Buy. Sell.

Check Your Grammar

The #1 Writing Tool

Free Trial to Create Awesome Videos

Content Samurai Free Trial

Lifetime Learning Access to Eduonix – Only A Few Places Left

Lifetime Access to Eduonix Courses

Amazon Offers

Amazon Prime Free Trial

Sign up for Free Weekly Newsletter

Best Online Courses Newsletter

Enter your email address below to receive a weekly summary with new learning suggestions.

Amazon Gift Ideas

Follow

RSS feed RSS - Posts

Important Links

Contact Us

Terms of Use

Privacy Policy

Best Degree Programs

Online and Distance Learning Degrees

Job Search

Job Search

Copyright © 2023  Best Online Short Courses