Welcome Page
Daily schedule (lectures, labs, and assignments)
Homework assignments
Copies of the powerpoint slides
Programs shown in class
Class organization
Find out how your homework is graded
Some links relevant to the class
CSC 143
Computer Programming for Engineers and Scientists

Class Schedule

The calendar is updated as we move through the quarter (Don't trust what is written beyond the current week).

 Week
Monday (Canvas)
Tuesday (Canvas)
Wednesday (in class)
Thursday (Canvas)

 

1

Back to top

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

Oct 1

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

Object diagram

2

Back to top

Oct 5

Abstract classes, interfaces

Watch Canvas video "Abstract classes and interfaces"

Extra credit #1 due

Oct 6

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

Quiz 1 practice, solution

Equals (slides: ppt, pdf)

Equals: Car, CarTest, FancyCar

Oct 8

toString, equals: Car, CarTest, FancyCar

Watch Canvas video "Overriding methods from the Object class: equals, toString - live session"

HW#1 due

3

Back to top

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"

Lab 2:

Swing, generics, events

generics tutorial

Oct 14

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"

Oct 15

Introduction to recursion, towers of Hanoi, a first example of algorithm analysis

Watch Canvas video "An introduction to recursion"

slides

4

Back to top

Oct 19

recursion

Watch Canvas video "Recursion - live session"

RecursionExamples

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

 

Oct 21

recursion practice (see CodeStepByStep: digitsSorted, writeSquares, printRange, mirrorSequence, and Codingbat)

HW#2 due

Hw2 test rotation: TetrisTestRotate

Oct 22

Lab 3: Recursive data structure: Box, BoxViewer

Watch Canvas video "Recursion: a recursive data structure example"

Extra credit assignment #2

5

Back to top

Oct 26

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

See assertions on the Oracle web site

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

Extra credit #2 due

6

Back to top

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.

Data driven programs

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
JavaReview.txt, TMQuestion, TMCourse, TMMain

Quiz #2: Notes, solution

Nov 5

Lab 5: Teaching Machine
JavaReview.txt, TMQuestion, TMCourse, TMMain

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

7

Back to top

Nov 9

Lab 6:

Collections: ArrayList,

Watch Canvas video "ArrayList"

Nov 10

ArrayList, LinkedList

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)"

MyArrayList, MyLinkedList, MyList, TestMyList

Nov 12

Linked lists

Watch Canvas video "LinkedList (part 3)"

8

Back to top

Nov 16

Complexity (notes)

Watch Canvas video "An introduction to complexity analysis - Live session" (up to binary search)

Nov 17

Searching

BinarySearch

Watch end of Canvas video "An introduction to complexity analysis - Live session"

Nov 18

Lab 8: sorting

Sorting: neat animations

Exam 1: Notes

Nov 19

Sorting (see an optimized version of quick sort)

Watch Canvas videos "Sorting algorithms - Live session", "merge sort and quick sort"

9

Back to top

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

10

Back to top

Nov 30

Binary search trees

BSTree

Watch Canvas video "More about trees, introduction to stacks and queues - Live session", start at 19 mins.

Dec 1

Lab 9:

Stacks and queues

Watch Canvas video "More about trees, introduction to stacks and queues - Live session", start at 57 mins

Dec 2

Trees applications

Tree question, solution

Heap

Dec 3

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
11

Back to top

Dec 7

Hashing

Watch Canvas video from week 10 "Stack applications, hashing - Live session" (start at 24 mins)

Dec 8

Review: sample, solution

Watch Canvas videos "Exam review - live session", "solution of splitOdd10 from CodingBat"'

Dec 9

Exam 2

Dec 10

Happy Break to All !!!