Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
ECE 462 Fall 2008 - Object-Oriented Software Development, Purdue University 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 College of Engineering | ECN Home Tools Demos Purdue > Engineering > Object-Oriented Software Development > F2008 ECE 462 Object-Oriented Programming using C++ and Java Fall 2008  If you are taking this class, please enter Blackboard to submit your assignments, check your grades, and join the discussion.  [outcomes | tools | lectures | assignments | lab exercises | exams | textbook | Rhea | optional readings | changes in 2008 | students' comments ] Your Feedback Project Demonstration Course Outcomes: A student who successfully fulfills the course requirements will have demonstrated: an ability to write object-oriented programs of moderate complexity in Java. [3,4;e] an ability to write object-oriented programs of moderate complexity in C++. [3,4;e] an understanding of the concepts of inheritance and polymorphism. [3,4;k] an ability to use template classes and the STL library in C++ and Java. [3,4;k] an ability to overload operators in C++. [4;c,e,k] an ability to incorporate exception handling in object-oriented programs. [3,4;k] an understanding of the difference between function overloading and function overriding. [3,4;k] an ability to write programs with multiple threads and use synchronization among threads. [3,4,k] Suggestions to Students: Learning by watching on-line videos (also called "asynchronous learning") has unique challenges. The lectures may move faster than your own pace, because you cannot stop the instructor and ask questions. Meanwhile, there are many advantages, for example, you can pause or review. Here are some suggestions to learn more effectively. Scan the slides before watching a video. Have the slides and code in front of you while watching the video. Pause when necessary. Keep the schedule. Do not procrastinate.   Tools:   Lectures: LE = lab exercise, PA = programming assignment The instructor is available in MSEE 190 software laboratory during the lecture hours, three times a week. Student can use the lecture hours for programming assignments, lab exercises, discussion, or asking questions. Additional office hours can be arranged by email. There are three lecture hours per week. Two are used for video instructions and one is used for lab exercises. The experiment conducted in 2007 indicated that this approach did not reduce the coverage of the course materials. If fact, due to the personalized help, students learned more and faster. The slides contain bookmarks. To show the bookmarks, in Adobe Reader, select  "View", "Navigation Tabs", and "Bookmarks'.  The slides are mostly screenshots of the videos. It is recommended that you read the slides before printing. Many slides are used to explain how to set up your programming environment. They are not needed once you have finished the setup. If you do want to print, please print 4 slides on the same page to save paper. The source code used in each lecture is available separately. You are encouraged to print and study the source code. There are practice questions at the end of each video clip. Errata Week Date Due Date* Slides Reading Code Video 1 08/25  - Slides 1 - Introduction 08/27  - Slides 2-3.3 Code Object and Class (5:43) Inheritance and Polymorphism (10:45) Development Environment (17:32) Lab Exercise 1 (14:02) 08/29 - 3.4-3.9  Lab (MSEE 190) 2 09/01 no class 09/03 LE 01 Slides 3.10-3.12 Code Program Structure (14:09) Class Examples (4:32) Encapsulation and Polymorphism (16:12) Constructor and Destructor (17:34) 09/05 - Slides 3.13-3.16 Code Version Control (8:28) Instantiation (17:31) Submission Procedure (8:23) Inheritance (6:52) Lab Exercise 2 (8:59) 3 09/08  - Slides 17.8-17.12 Code User Interface (14:22) Qt Signals and Slots (17:45) Java Events and Handler (9:47) Array (11:27) 09/10 LE02 Slides 5-5.2 Code Container (21:57) Collision Detection (16:57) New Container in C++ (12:24) 09/12 -      17.13-17.17  Lab (MSEE 190) 4 09/15  - Slides 6-6.9 Code Open and Save File (21:36) Definition, Declaration, and Initialization (17:23) Lab Exercise 3 (15:57) 09/17 LE03 Slides 7-8.5 Code Reference (4:38) Parameter Passing (8:23) Copy Constructor (14:41) Parameter Passing 2 (6:00) Overload Resolution (15:01) 09/19 PA1 Java Breakout -      9-9.13  Lab (MSEE 190)  5     09/22 review at ARMS 1109 (bring your questions, no lecture) 09/24 Exam 1  (outcomes 3,4) 09/26  - Slides 12-12.11 Code Operator Overloading (24:10) Small Int and Conversion (24:30)  6     09/29  - Slides 10-10.7 Code Lab Exercise 4 (1:24) Programming Assignment 03 (4:47) Exception Handling in C++ (16:22) Exception Handling in Java (10:18) Static Member in C++ (9:10) 10/01 LE04 Slides  11-11.14 Code Static Member in Java (9:28) Game Programming (6:28) Full Screen Game (28:18) Lab Exercise 5 (7:38) 10/03 Lab (MSEE 190)  7     10/06  - Slides  14-14.6  - Double Buffering (20:46) Sprite (4:13) Unified Modeling Language (UML) (22:19) 10/08 LE05 Slides  15-15.18 Code Inheritance (21:51) Virtual Function (11:32) Private Inheritance (9:16) Java Final (3:36) Lab Exercise 6 (5:34) 10/10 PA2 C++ Breakout     Lab (MSEE 190)  8     10/13 No Class 10/15 LE06 Slides  16-16.7 Code Java Key Input (15:09) Java Mouse Input (6:59) Multiple Inheritance in C++ (17:40) Qt Layouts (9:33) 10/17 review at ARMS 1109 (bring your questions, no lecture)  9     10/20 Exam 2  (outcomes 5,6) 10/22 - Slides - Code Sound (7:50) Performance Profiling (17:40) C++ Profiling (3:52) Performance Improvement (18:04) 10/24 Lab (MSEE 190)   10     10/27  - Slides  18-18.3 Code Parallelism (14:43) Thread (21:17) WMV format  RM format Parallel Programs (14:47) 10/29 LE07 Slides  18.4-18.11 Code Scheduling (18:40) WMV format Synchronization (23:01) Lab Exercise 9 (10:20) 10/31 PA3 Java Tetrix   Lab (MSEE 190)  11     11/03  - Slides -  Code Design Parallel Programs (19:31) Deadlock (15:38) Thread Performance (11:13) Platform Game (5:43) 11/05 LE08 Slides 19-19.4  Code Draw Game (6:08) Network Client (17:32) Network Server (20:38) Test Coverage (6:34) 11/07 review at ARMS 1109 (bring your questions, no lecture)  12     11/10 Exam 3  (outcomes 7,8) 11/12 LE09 Slides - - Software Test I (12:34) Software Test II (13:06) Automatic Testing (9:52) 3D Graphics (12:05) 11/14 PA4 C++ Pacman  Lab (MSEE 190)  13     11/17 - -  - - Discussion "Education and Technology" 11/19 LE10 Slides - Code Multi-Player Game using Network (16:01) Game Client (15:26) Game Server (8:10) Improvement (5:10) Java Remote Method Invocation (7:41) 11/21 Lab (MSEE 190)  14     11/24  - Slides - Code Brief History of C++ (20:15) Brief History of Java (10:11) RMI Example (9:19) Ray Tracing (10:19) 11/26 No Class 11/28 No Class  15     12/01 review at ARMS 1109 (bring your questions, no lecture) 12/03 Exam 4 12/05 PA5   Lab (MSEE 190)  16     12/08 - Slides - - Reuse Threads (12:23) Ray Tracer (8:43) Problem with Threads (6:15) 12/10 game demonstration at MSEE 190     12/12 review at ARMS 1109 (bring your questions, no lecture) 17 12/18 Final Exam 8-10AM, Physics 116 and 117 * All due dates are suggested deadlines. The flexibility is provided to accommodate your schedule (such as interviews or conferences) and unexpected situations (such as illness or accidents). The deadline for all assignments and lab exercises is 6PM December 5 Friday. A grace period of 6 hours is given to all students. You can submit and resubmit assignments or lab exercises during this grace period without any penalty. All assignments and lab exercises must be submitted before 11:59PM December 5. This is the  absolute deadline. After 11:59PM December 5, 10% is taken every hour (round up) from your grade. Nothing will be accepted after 10AM December 6. Please remember that you are not allowed to request regrading if you submit a lab exercise or a programming assignment after the suggested deadline. Programming Assignments and Due Dates: Submission Procedure and Rules Rules on Collaboration 2008/09/19, Two-player Breakout game using Java (outcome 1) 2008/10/10, Two-player Breakout game using C++ and Qt (outcome 2) 2008/10/31, Tetrix game using Java (modified from C++ and Qt Tetrix game), slides, video (4:47) (outcome 1) 2008/11/14, Pacman game using C++ and Qt (improve a simplified Java example) (outcome 2) 2008/12/05, Interactive 2-player network game using Java or C++ (design your own own game) A student can do each assignment alone or work with another (and only one) student that is also taking the class. A student can have different teammates for different assignments. If two students work together, both students have to submit the assignment. Outcome 1 can be passed by assignment 1 or 3. Outcome 2 can be passed by assignment 2 or 4. Laboratory Exercises and Due Dates: Every student must submit the lab exercises independently. Collaboration is not allowed. 2008/09/03, (Java) Netbeans programming interface, version control, drawing and handling events. slides, video (14:02), code. 2008/09/10, (Java) Tracking mouse movement and bouncing ball. slides, video (8:59), code. 2008/09/17, (C++) Qt graphical user interface: drawing and handling events. slides, video (15:57), code. 2008/10/01, (Java) Unified Modeling Language using Netbeans. slides, video (1:24). 2008/10/08, (Java and C++) Container classes' performance. slides, video (7:38), code. 2008/10/15, (Java) Applet. applet, slides, video (5:34), code. 2008/10/29, (Java and C++) Multithread, convert C++ to Java. lab07.cpp. 2008/11/05, (Java and C++) Multithread, convert Java to C++. lab08.java. 2008/11/12, (Java and C++) Networking. slides, video (10:20), code. 2008/11/19, (Java or C++) Profile and Coverage. Exam Dates: 2008/09/24, Exam 1 2008/10/20, Exam 2 2008/11/10, Exam 3 2008/12/03, Exam 4 2008/12/18, 8-10AM, Physics 116 and 117, Final Exam All exams are open-book and open-note. Please bring your Purdue ID. No electronic device (including calculators) is allowed. Exams from 2007. Textbook:   Programming with Objects References: Developing Games in Java  Effective C++ Rhea Project Purdue ECE Rhea Project: multidimensional, multimedia, self-adaptive, collective learning tool. Optional Readings  These readings are optional. They will not appear in any exam. You can download the PDF files from any Purdue computer. A History of C++ 1979-1991 Evolving a Language In and For the Real World: C++ 1991-2006 Problems with Threads Programming Languages: Past, Present, and Future End-to-End Arguments in System Design Using Redundancy to Find Errors An investigation of the Therac-25 Accidents Innovation and Education in the Digital Age: Reconciling the Roles of Pedagogy, Technology, and the Business of Learning Changes in 2008  The lectures, assignments, and lab exercises will be recorded in separate videos. On-line homework will be eliminated. The questions will be embedded in the lectures as self tests. The lab exercises will be more closely integrated with the programming assignments. Bacause of the postive responses from the students in Fall 2007, ECE 462 will continue the format using on-line lectures. The instructor will be available in the laboratory working with students during the lecture hours. All programming assignments will be developing computer games. Student Comments These are some comments from students' evaluations after taking ECE 462 in Fall 2008. "I enjoyed this course." "The game projects are incredibly refreshing..." "This course was a definite benefit. I think that all CompE students should take it... The course's structure is great." "Great course and a must for anybody looking to go into software after they graduate." "Course is fantastic! I feel this is a really important course before entering the CompE working world." "He did a very good job teaching this course." "Professor Lu is great--very knowledgeable as well as approachable." "Professor Lu does a great job and is very helpful..." "Thumbs up." "Very helpful, really wants to and does help students who seek it." "Professor Lu is very helpful and dedicated." "Great teacher, tries really hard to help students, very helpful." "The professor is very enthusiastic and extremely diligent in helping his students succeed. Very pleased. I got my education worth from this course." Back to OOSD                                                                                                                                                                                                                                                                               Purdue Homepage | Purdue Search | Campus Map | Purdue Directories Copyright © 2021, Purdue University, all rights reserved. An equal access/equal opportunity university Why Secure Web Services? (SSL) webmaster@ecn.purdue.edu Served by zeoclient-06.ecn.purdue.edu