Wrap-Up
EECS2030: Advanced Object Oriented Programming Fall 2017
CHEN-WEI WANG
What You Learned (1)
Procedural Programming in Java
X Utilities classes
X Recursion (implementation, running time, correctness)
Data Structures
X Arrays
X Maps and Hash Tables X Singly-Linked Lists
X Stacks and Queues
X Binary Trees
2 of 8
What You Learned (2)
Object-Oriented Programming in Java
X classes, attributes, encapsulation, objects, reference data types X methods: constructors, accessors, mutators, helper
X dot notation, context objects
X aliasing
X inheritance: code reuse
expectations
static vs. dynamic types
rules of substitutions
casts and instanceof checks
polymorphism and method arguments/return values method overriding and dynamic binding: e.g., equals abstract classes vs. interfaces
generics (vs. collection of Object)
X keywords: private, this, protected, static, extends, super, abstract, implements
3 of 8
What You Learned (3)
Integrated Development Environment (IDE) for Java: Eclipse
X Break Point and Debugger X Unit Testing using JUnit
4 of 8
Beyond this course. . . (1)
5 of 8
Introduction to Algorithms (3rd Ed.) by Cormen, etc.
DS by DS, Algo. by Algo.:
X math analysis
X pseudo code
X Translate into Java code
X Write and pass JUnit tests
Understand
Read
Beyond this course. . . (2)
6 of 8
Design Patterns: Elements of Reusable Object-Oriented Software by Gamma, etc. Patter by Pattern:
X the problem
X the solution (not in Java) X Translate into Java code
X Write and pass JUnit tests
Understand
Read
Beyond this course. . . (3)
Visit my lectures on EECS3311 Software Design:
http://www.eecs.yorku.ca/ ̃jackie/teaching/
lectures/index.html#EECS3311_F17
X Design by Contracts X Design Patterns
X Program Verification
7 of 8
Wish You All the Best
What you have learned will be assumed in EECS2011.
Logic is your friend: Learn/Review EECS1019/EECS1090.
Do not abandon Java during the break!!
As ever, feel free to get in touch and let me know how you’re doing 😀
8 of 8