Understanding Computer Programming

Osher Lifelong Learning Institute
University of Illinois, Urbana-Champaign

Scott Badman, Instructor

Eight Sessions: Thursdays at 3:15 pm until 4:45 pm, from January 28, 2016 to March 17, 2016.
Ninety minutes per session.

Schedule of Topics

The pacing, depth, and order that we cover these topics may vary significantly, depending on the needs and desires of the class members.

Session 1, Jan. 28, 2016:   Algorithms     Topics:
Long Division as done by a human
Division by Repeated Subtraction as done by a human
Pseudocode for the Modulo algorithm
Programming Elements as illustrated by the pseudocode

Session 2, Feb. 4, 2016:   Writing Code     Topics:
Development Strategy
Modulo program implemented in QuickBasic
Prime algorithm in pseudocode
Prime program implemented in QuickBasic
User Friendliness - adding prompts to the program

Session 3, Feb. 11, 2016:   Logic Errors (Bugs) and
IF statements
Typical progression of a programming prObject
Bugs in the Prime program
Prime algorithm implemented in QuickBasic with protective IF-ELSE-ENDIF
The Programming Process
All Programming Elements

Session 4, Feb. 18, 2016:   Computability and     
                                            Data Structures
Modularization - isolation of the modulo code into a subroutine
Prime algorithm implemented in QuickBasic fully modularized
Prime algorithm implemented in Java
Computability - space and time constraints
Improvements of the Prime algorithm in QuickBasic
Prime algorithm implemented in console Visual Basic

Session 5, Feb. 25, 2016:   History of Programming and    
                                            Object Oriented Programming
Comparison of Programming Languages using the modulo algorithm
History of Programming Languages
Object Oriented Programming, implemented by Visual Programming IDE's
Prime algorithm implemented in Object Oriented Visual Basic
Object Oriented Libraries in Microsoft's Visual Studio and Java

Session 6, Mar. 3, 2016:   Network Programming     Topics:
Data Structures - arrays and the Sieve of Eratosthenes
Data Structures - advanced
Internet and Telephone Networks
Network Based Programs - applications, apps, and HTML
Prime implemented in HTML and JavaScript
Prime implemented as an App

Session 7, Mar. 10, 2016:   Logic and Binary Numbers     Topics:
Binary Arithmetic
Logic and Logic Gates

Session 8, Mar. 17, 2016:   Machine Code     Topics:
Definition of a Computer
Machine Code and Assembly Language
Unstructured Programming - JMP (jump) instead of IF and WHILE
The Computer Simulator running the modulo algorithm