BASIC PROGRAMMING CONCEPTS-Lecture 1: BASIC PROGRAMMING CONCEPTS
Supplements for Lecture 1
Why programming?
()
Program development
()
Built-in data types
()
Type conversion
()
Optional Enrichment on Basic Programming Concepts
CONDITIONALS AND LOOPS-LECTURE 2: CONDITIONALS AND LOOPS
Supplements for Lecture 2
Conditionals: the if statement
()
Loops: the while statement
()
An alternative: the for loop
()
Nesting
()
Debugging
()
Optional Enrichment on Conditionals and Loops
ARRAYS-LECTURE 3: ARRAYS
Supplements for Lecture 3
Basic concepts
()
Typical array-processing code
()
Two-dimensional arrays
()
Optional Enrichment on Arrays
INPUT AND OUTPUT-LECTURE 4: INPUT AND OUTPUT
Supplements for Lecture 4
Standard input and output
()
Standard drawing
()
Fractal drawings
()
Animation
()
Optional Enrichment on Input and Output
FUNCTIONS AND LIBRARIES-LECTURE 5: FUNCTIONS AND LIBRARIES
Supplements for Lecture 5
Basic concepts
()
Case study: Digital audio
()
Application: Gaussian distribution
()
Modular programming and libraries
()
Optional Enrichment on Functions and Libraries
RECURSION-LECTURE 6: RECURSION
Supplements for Lecture 6
Foundations
()
A classic example
()
Recursive graphics
()
Avoiding exponential waste
()
Dynamic programming
()
Optional Enrichment on Recursion
PERFORMANCE-LECTURE 7: PERFORMANCE
Supplements for Lecture 7
The challenge
()
Empirical analysis
()
Mathematical models
()
Doubling method
()
Familiar examples
()
Optional Enrichment on Performance
ABSTRACT DATA TYPES-LECTURE 8: ABSTRACT DATA TYPES
Supplements for Lecture 8
Overview
()
Color
()
Image processing
()
String processing
()
Optional Enrichment on Abstract Data Types
CREATING DATA TYPES-LECTURE 9: CREATING DATA TYPES
Supplements for Lecture 9
Overview
()
Point charges
()
Turtle graphics
()
Complex numbers
()
Optional Enrichment on Creating Data Types
PROGRAMMING LANGUAGES-LECTURE 10: PROGRAMMING LANGUAGES
Supplements for Lecture 10
Popular languages
()
Java in context
()
Object-oriented programming
()
Type checking
()
Functional programming
()