Computer Programming for Engineers and Scientists |
|||
The calendar is updated as we move through the quarter (Don't trust what is written beyond the current week).
|
Sep 28 Welcome: what to expect in this class? Read module "Class organization" on Canvas |
Sep 29 Inheritance, unit testing Watch Canvas videos: "Inheritance: an introduction (a review from CSC 142)", "Unit testing (excerpt from a live zoom video)" Extra credit #1 assignment |
Sep 30 Person, Student, PersonStudentTest CodeStepByStep example Unit testing: example |
Homework 1 help: code + object diagram Watch Canvas videos "Hw1 (Tetris) explanations part 1", "Hw1 (Tetris) explanations part 2" Tetris, EventController, Direction, Game, LShape, Square, Grid, TetrisUnitTest |
Abstract classes, interfaces Watch Canvas video "Abstract classes and interfaces" Extra credit #1 due |
Abstract classes, interfaces: an example Watch Canvas video "Abstract classes and interfaces: an example - live session" Lab 1: Interfaces, abstract classes, unit testing. Critter, Cow, Buffalo, Bovine, Poodle, Trainable, TestCritter |
Oct 7 |
toString, equals: Car, CarTest, FancyCar Watch Canvas video "Overriding methods from the Object class: equals, toString - live session" HW#1 due |
|
Oct 12 Clone: deep copy vs shallow copy Watch Canvas video "Shallow and deep copy" Car, CarTestWithDeepAndShallowCopy Video recommended by a student |
Oct 13 Doing graphics with Swing Watch Canvas video "Doing graphics with swing - live session" Swing, generics, events |
Deep copy vs shallow copy, Swing, generics, Swing: FirstSwingApplication Quiz #1: Notes, watch the end of the Canvas video "Shallow and deep copy, quiz review - live session" |
Introduction to recursion, towers of Hanoi, a first example of algorithm analysis Watch Canvas video "An introduction to recursion" |
|
recursion Watch Canvas video "Recursion - live session" |
Oct 20 Recursive backtracking Watch Canvas videos "Recursive backtracking", "A recursive backtracking example: the queens problem", "Recursion and recursive backtracking examples - live session" Queens problem Queens.java, Board.java, solution:Queens.java
|
recursion practice (see CodeStepByStep: digitsSorted, writeSquares, printRange, mirrorSequence, and Codingbat) Hw2 test rotation: TetrisTestRotate |
Lab 3: Recursive data structure: Box, BoxViewer Watch Canvas video "Recursion: a recursive data structure example" Extra credit assignment #2 |
|
Exceptions Watch first half of Canvas video: "Exceptions - live session" |
Oct 27 Exceptions Watch second half of Canvas video: "Exceptions - live session" UsingExceptions, UsingCheckedExceptions, BadInputException, ExampleWithFinally |
Oct 28 Quiz 2 practice Exceptions: exercises Lab 4: Streams |
Oct 29 Lab 4: Streams Watch Canvas videos: "Streams: an introduction", "File IO examples" UsingFiles, DownloadFile, FileCopy, FileCopy2 StreamsAndRecursion |
|
Nov 2 Collections: IntroToCollections, MapExample Collections: CodeStepByStep. Watch Canvas video "An introduction to the Collection and Map interfaces - Live session" Extra credit assignment #3 |
Nov 3 Introduction to the teaching machine. Lab 5: Teaching Machine Watch the first half of the Canvas video "Using some Java data structures: the teaching machine example - live session" |
Nov 4 Lab 5: Teaching Machine |
Nov 5 Lab 5: Teaching Machine Watch the second half of the Canvas video "Using some Java data structures: the teaching machine example - live session" Watch Canvas videos "", "Hw3 help (Recursive drawings) from a previous quarter (up to 43:50)" HW#3 due |
|
Nov 9 Collections: ArrayList, Watch Canvas video "ArrayList" |
Nov 10 Watch Canvas video "ArrayList and LinkedList (part 1)" Extra credit #3 due |
Nov 11 No class: Veterans day Linked lists Watch Canvas video "LinkedList (part 2)" |
Nov 12 Linked lists Watch Canvas video "LinkedList (part 3)" |
|
Nov 16 Complexity (notes) Watch Canvas video "An introduction to complexity analysis - Live session" (up to binary search) |
Nov 17 Searching Watch end of Canvas video "An introduction to complexity analysis - Live session" |
Lab 8: sorting Sorting: neat animations Exam 1: Notes |
Sorting (see an optimized version of quick sort) Watch Canvas videos "Sorting algorithms - Live session", "merge sort and quick sort" |
|
Nov 23 Lab 9: trees Watch first half of Canvas video "Introduction to trees - live session" |
Nov 24 Trees Watch second half of Canvas video "Introduction to trees - live session" |
Nov 25 BigO examples: examples, solution Recursive backtracking: exercise Quiz #3 Notes |
Nov 26 No class: Thanksgiving day |
|
Nov 30 Binary search trees Watch Canvas video "More about trees, introduction to stacks and queues - Live session", start at 19 mins. |
Dec 1 Stacks and queues Watch Canvas video "More about trees, introduction to stacks and queues - Live session", start at 57 mins |
Trees applications |
Stacks, applications: postfix, infix, prefix Stack, EmptyStackException, PostfixInfixCalculator, ExpressionFormatException Watch Canvas video "Stack applications, hashing - Live session" (up to 24 mins) Hw4 help: Adventure, AdvRoom, AdvObject, AdvCommand HW#4 due |
|
Hashing Watch Canvas video from week 10 "Stack applications, hashing - Live session" (start at 24 mins) |
Watch Canvas videos "Exam review - live session", "solution of splitOdd10 from CodingBat"' |
Dec 9 Exam 2 |
Dec 10 Happy Break to All !!! |