CSC205::Object Oriented Programming and Data Structures::Spring 2017
(using the Java programming language)

[csc205 AZ license plate]

Assignments | Code | Handouts/Syllabus | Resources | Office Times | Email Me

#FinalAssessment: Thursday, 11 May 2017, at 11:30am.
  WEEK#   WEEKLY LECTURE NOTES -- DESCRIPTION
Fifteen15 Review BST.java. RPN calculator. Quick sort. Code QuickSort.java
Fourteen14 Continue with trees (binary search trees; tree traversals). Expression trees. Assignment(s): [program] #BST and [assessment] #assessment1 Code StringTree.java {output} | BST.java {output}
Thirteen13 Introduction to trees. Assignment(s): [program] #CountingSort and [program] #RadixSort and [assessment] #assessment0 Code StringTree.java {output} | BST.java {output}
Twelve12 Searching and sorting. Assignment(s): [program] #MyDoublyLinkedList and [assessment] #TestingPasswordChecker and [essay] #ComputingEthics Code Bsearch.java | BubbleSort.java | CountingSort.java | RadixSort.java | InsertionSort.java {simpler code) | MergeSort.java | AbstractSorter.java | Comparable.java | Sortable.java
Eleven11 Finish linked-lists. Searching (linear and binary). Assignment(s): [program] #MyLinkedList Code SinglyLinkedList.java (OOP version) | DoublyLinkedList.java
Ten10 Finish queues. Linked-Lists. Assignment(s): [assessment] #Timer and [program] #PasswordChecker Code CircularArrayQ.java | Buffer.java | PriorityQueue.java | SinglyLinkedList.java {OOP version} | DoublyLinkedList.java
Nine9 Finish stacks. Queues. Assignment(s): [program] #Q Code Stack2.java | FootNotes.java | (footnotes.in.txt)
Eight8 The set data structure. The stack data structure. Assignment(s): [program] #MySet Code Main.java | NumberSystemStack.java | Stack.java | ParenChecker.java
Seven7 The list data structure. Assignment(s): [program] #Pi Code AboutThis.java | IntList.java
Six6 Introduce the #WoodallNumbers programming assignment. Finish going over interfaces (specifically Cloneable). Discuss the #BitOperators programming assignment. Review memory usage (stack and heap). Multi-dimensional arrays. Assignment(s): [program] #WoodallNumbers Code CloneableEG.java | Memory.java | MultiArrays.java | TwoDimensionalArrays.java | BYTES.java | ThreeDimensionalArray.java
Five5 Continue with recursion. Introduction to interfaces. Assignment(s): [program] #IntList Code [recursion] Countdown.java | Power.java | PrintLD.java | Reverse.java | Fibonacci.java | GCD.java [interfaces] InterfaceExample.java | InterfaceEG.java | I_ExitStatus.java | TestI_ExitStatus.java | TestSerializable.java | TestClone.java | CSC205_Containers
Four4 Continue with arrays. Introduction to recursion. Assignment(s): [program] #BitOperators Code Robot.java | Robot2.java | A.java | Factorial.java
Three3 About exceptions. Review arrays (array of primitive data, array of objects, passing arrays to methods, using array parameters, returning arrays from methods). Assignment(s): [assessment] #VintonCerf and [program] #ValleyPeak and [program] #RecursionPlay Code PolyNumber.java [continued] | Robot.java | XYZ.java | A.java (arrays)
Two2 Continue review of course competencies one and two with emphasis on classes and OOP. Assignment(s): [program] #RecursionPlay Code HelloWorldOO.java | PolyNumber.java
One1 Review the syllabus. Review course competencies one and two. Assignment(s): [assessment] #email and [program] #MakeHelloWorld and [assessment] #BrianKernighan and [program] #ExtremelyOddNumbers and [program] #GuessingGame Handout(s): CSC205 Syllabus and About CSC205 and How To Submit Assignments Code: HelloWorld.java | HelloGoodbyeWorld.java | HelloWorldOO.java | PolyNumber.java