Topics | Dates | Lecture Notes & Examples |
Readings ML: Chapman JV: Savitch |
---|---|---|---|
course introduction
choosing your course syllabus overview introduction to programming |
Tue, Jan 27 |
Introduction | ML: Chapter 1 JV: 1.1.1-1.1.3 |
programming as problem solving
process of programming algorithms and pseudocode basic elements of MATLAB and MATLAB scripts |
Thu, Jan 29 | Problem Solving | ML: Chapter 1, 3.1-3.2 |
introduction to MATLAB programming language
tokens statements |
Tue, Feb 3 Thu, Feb 5 |
MATLAB Tokens
Character Names ASCII MATLAB Statements function to read integers |
ML: 2.1-2.2, 2.5-2.6, 2.8.1, 2.13 |
selection
sequential vs. branching logic and relations selection statements: if , elseif , else , switch |
Tue, Feb 10 | Selection Statements
bad number guessing better number guessing even better number guessing demo of switch
swap min and max |
ML: 3.3-3.4, 3.6-3.7 |
repetition
selection vs. repetition definite repetition with for and while
tracing loops indefinite repetition with while
style issues of break and loops
invariants and design patterns |
Thu, Feb 12 Tue, Feb 17 |
Repetition Statements
style recommendation summary bad example of for
better version of MEAN finding a max grade one way to reprompt a user better way to reprompt a user number guessing how to play music |
ML: 4.1-4.2, 4.5 |
introduction to arrays
1-D arrays, vectors 2-D arrays, matrices logical arrays character and string arrays vectorization | Thu, Feb 19 Tue, Feb 24 |
Arrays
extra info on transformation matrices |
ML: 2.1-2.4, 4.3, 6.1-6.3, 6.6 |
introduction to functions
built-in functions: plotting, file I/O scripts vs. functions function syntax calling and returning a value local variables, scope, subfunctions designing a function multiple return values |
Thu, Feb 26 Tue, Mar 2 Thu, Mar 4 |
Functions
General Advice randInt |
ML: 2.11, 3.5, Chap. 5, 8.1-8.4, 8.10 |
introduction to algorithms
searching: random, linear, binary |
Thu, Mar 4 Tue, Mar 9 |
Searching
readInt randIntVec randSearch linearSearch binarySearch |
ML: Example 5.2 (starts pg 199) |
MATLAB advanced topics | Tue, Mar 9 | MoreMatlab
structures cell arrays subfunctions function functions recursion |
ML: 7.1, 7.3 |
introduction to the Java language
class structure, applications, and main method tokens and statements user I/O, Math API |
Thu, Mar 11 Tue, Mar 16 |
Java Tokens
Java Statements Applications Basics Variables Operators Demo of Features Type Promotion More Variables Variable Scope More Scope |
JV: Chapters 1-2 |
selection, repetition, methods
logic and relations in Java if , else , switch
while , for , do-while |
Thu, Mar 18 Tue, Mar 30 |
Java Control Flow | JV: Chapter 3 |
methods and rudimentary program design
calling and returning method overloading |
Thu, Apr 1 | Methods
example 1 example 2 example 3 example 4 |
JV:5.2-5.4 |
introduction to object oriented programming
classes and objects overview of class structure encapsulation, has-a relationships fields, methods, constructors OOP design process |
Tue, Apr 4 Thu, Apr 8 |
OOP Intro
non-OOP example OOP example example of Complex numbers better version of Complex numbers |
JV: Chapters 4-5 |
references
references and objects memory model null , this
pass-by-value static
| Tue, Apr 13 Thu, Apr 18 |
References
References Example Special Reference Values Aliases Pass By Value More Aliases static more static |
JV: Chapters 4-5 |
data structures
static: 1-D/2-D arrays, arrays in objects, arrays of objects dynamic: ADTs, Vectors, Lists |
Tue, 4/20 Thu, 4/22 Tue, 4/27 |
Data Structures
Ragged Array Many Array Examples! Vector Person List Friendster Example | JV: Chapter 6, 10.1, 10.2 |
inheritance, summary
types inheritance of fields inheritance of methods and overriding class Object applications |
Thu, 4/29 Tue, 5/4 Thu, 5/6 |
Types Lecture
Inheritance Lectures Demo1 Primitives UpCast DownCast Interfaces Fields Methods1 Methods2 Methods3 Constructors Shadowing Object (List example) Abstract Interfaces Boxes example |
JV: Chapter 7 |