Home
Netbeans Eclipse Qt Java
Games
College of Engineering Aeronautics and Astronautics Agricultural and Biological Engineering Biomedical Engineering Chemical Engineering Civil Engineering Construction Engineering and Management Electrical and Computer Engineering Engineering Education Engineering Professional Education Environmental and Ecological Engineering Industrial Engineering Materials Engineering Mechanical Engineering Nuclear Engineering
EPICS (Engineering Projects In Community Service) First-Year Engineering Program First-Year Engineering Honors Program Global Engineering Program Minority Engineering Program Professional Practice (Co-Op) Program Women in Engineering Program
College Administration Schools Programs All Groups All People ECN Webmail
Purdue Home

ECE 462 Object-Oriented Programming using C++ and Java

Fall 2010

Assignment Demos from Fall 2009

Time: 1130-1220AM MWF

Location: Forney B 124

Textbook

Programming with Objects

Wiley-IEEE Press


References

Developing Games in Java

Developing Games in Java

Killer Game Programming in Java

Killer Game Programming in Java

Effective C++

Effective C++

 

Instructor:

Yung-Hsiang Lu

Yung-Hsiang Lu

Teaching Assistant:

Jacob Wyant

Office Hours

  • Lu: M 2-3PM, W 5-6PM, F 9-10AM in MSEE 222. If you need help in EE 306, please call 765-494-2668. The instructor will meet you at EE 306.
  • Wyant: W 130-430PM in EE 306. Somtimes Monday and Friday afternoon.

Please post your questions in Blackboard. Use email for only personal issues (such as appointment or regrading).

How Grades Are Calculated

Code

The sample programs used in lectures can be checked out from googlecode:

svn checkout http://purdue-wl-ece462.googlecode.com/svn/trunk/ purdue-wl-ece462-read-only 

Lectures

Week Date Lecture Topic Deadline
1 08/23 1

Introduction, Object and Class, Demonstration of 2009 assignments, Course Administration, Simple Examples, Instantiation

 
08/25 2 Encapsulation and Inheritance, Constructor, Polymorphism  
08/27 3

Inheritance and Polymorphism

 
2 08/30 4

Polymorphism, Destructor, Virtual Function

 
09/01 5

IPA1, Destructor, Object Creation

 
09/03 6

Polymorphism

 
3 09/06 no class
09/08 7

Object-Oriented Software Design and Container Classes

 
09/10 8 Container Classes and C++ Template, Abstract Class  
4 09/13 9

Argument Passing, Template

 
09/15 10 Copy Constructor, operator =  
09/17 11 Function Overloading, Static Attribute and Function  
5 09/20 11 Virtual Functions
09/22 12 Review WA1 (written assignment)
09/22

Exam 1, 630-730PM, PHYS 112

outcome 3 inheritance and polymorphism

outcome 4 template classes and the standard template library

09/24 13
Graphical User Interface IPA1 (outcome 1)
6 09/27 14 GPA1, IPA2, C++ Operator Overloading  
09/29 15 Operator Overloading  
10/01 16 Operator Overloading  
7 10/04 17 No Class  
10/06 18 Operator Overloading  
10/08 19 Overloading Resolution
8 10/11 no class
10/13 20 Overloading vs Overriding IPA2 (outcome 2)
10/15 21 Exception Handling  
9 10/18 22 Exception Handling    
10/20 22 Review GPA1 and WA2
10/20

Exam 2, 630-730PM, PHYS 112

outcome 5 overload operators in C++

outcome 6 overloading and function overriding

10/22 23
Parallel Programming  
10 10/25 24 Threads  
10/27 25 Threads  
10/29 26 Synchronization  
11 11/01 27 Synchronization GPA 2
11/03 28 Design Efficient Parallel Programs  
11/05 29 GPA3  
12 11/08 30 Performanace Improvement
11/10 31 Memory Hierarchy  
11/12 32 Deadlock  
13 11/15 33 Review WA3
11/17

Exam 3 in class

outcome 7 exception handling

outcome 8 threads

11/19 34
Networking GPA3
14 11/22 no class
11/24
11/26
15 11/29 35 Unified Modeling Language, Multiple Inheritance IPA3
12/01 36 Java Applet  
12/02 Exam 4, 630-730PM, PHYS 112, for passing outcomes 3-8
12/03 37 Competiton Rules GPA 4
16 12/06 38 GPA4 Competition  
12/08 39 Other problems in Rubik's Cube  
12/10 40 Survey and Discussion WA4
17 Final Exam (take home) released on 12/13 and due on 12/14

Version Control: You should always manage your code using version control.  You need version control if any of the following conditions is true:

  • You spend more than one hour on an assignment.
  • Your code may be incomplete before you go to sleep.
  • Your code may contain a bug.
  • Your computer may be damaged. There are cases when students lose their work when their computers are damaged. As a result, they receive zeros in assignments.
  • You work at school and at home using two (or more) computers.

Student Comments:

  • "I enjoyed the content and the assignments themselves very much all the same."
  • "Helped me a lot understand object oriented programming, and more advanced technique in programing like thread, inline function, etc."
  • "I enjoyed taking this course. The course materials are useful, and the instructor did well to teach us.I would like to recommend every compE student who does not yet have lots of OOP experience to take this class. It will be useful."
  • "Course was taught well and contained good, useful content."
  • "Great professor & lecturer, and deeply cares that students learn while in class."
  • "You have been one of the best instructors I have had at Purdue. I really loved the class."
  • "Great prof."
  • "one of the best professors i've had at Purdue"
  • "Good instructor."
  • "Really good instructor. Enthusiastic, good material, good examples."
  • "Prof Lu is fair, personable, and very knowledgeable. I really enjoyed learning from him this semester!"
  • "Professor Lu cares very much about the success of his students and took the time to help us succeed in the course, while at the same time keeping us challenged. He is one of the best professors I have had at Purdue."
  • "He spent a lot of time help student outside class and willing to help students solve encountered problems."
  • "The instructor obviously knows the material thoroughly and is capable of explaining it in an organized fashion."
  • "Very nice professor. He tried to help everyone learn as much as possible, and encouraged participation. What's also good about him is that he did not over penalize students for not paying attention to lectures, but instead tried hard to help them catch up."