Title: Advanced Application Programming ISS502 Time: TBA Instructor: Dr. Michael E. Thombs Office Loc: O'Hare 204, Ex. 3115Return to Top of Page!
Purpose: The course will be presented to students who wish to understand Object Oriented Programming ( OOP ). Hands-on exercises will be done using Borland's Turbo C++ for Windows. Emphasis will be on proving a broad survey and understanding of OOP at both the conceptual and procedural levels. The course will be divided into three sections. The first section will be devoted to reviewing the basics of C, covering some of the differences between C and C++, and the Interactive Development Environment ( IDE ) from Borland. Next, we will cover the fundamental elements of OOP. By this time we will have a conceptual and procedural understanding of both C++ and OOP. The remainder of the course will be devoted to learning how to develop applications that use classes and objects created by other programmers, setting up a project, and using the Borland Resource Toolkit. Approach: Labs and computer demonstrations will be done each week that will reinforce the concepts presented in class. Two computers will be available in the DEC Lab. on a limited basis for testing. The course will examine the following: Novel's Netware, Microsoft's NT, Bell Lab's UNIX, MS-DOS, Mac System 7, and the Internet.Return to Parent Web Page!
Required Text: The Waite Group' Object - Oriented Programming In Turbo C++ by Lafore, Robert. SAMS 1-87873-906-9. Turbo C++ for Windows: Programming for Beginners, Perry. SAMS 0-672-30229-2 Recommended Texts: The Waite Group's Turbo C++ Bible, [optional but highly recommended] by Naba Barkakati ISBN: 0-672-22742-8 SAMS.Return to Parent Web Page!
Course Objectives: Upon completion of this course, you will be able to: 1. review the basics of C by attending lectures and performing lab-based programming assignments using Borland's Turbo C++ for Windows. 2. understand the differences between C and C++ both syntactical and conceptual 3. build simple classes 4. perform examples of inheritance by creating parent and sibling classes 5. overload operators and use them in a sample application 6. demonstrate the principle of polymorphism in concept and by programming an application that demonstrates its correct use. 7. demonstrate extensibility by building on existing libraries of classes and objects that are supplied by Borland in their resource toolkit. 8. build highly professional Windows applications that take advantage of Windows capabilities.Return to Parent Web Page!
Class Policy: Class participation and class attendance are a positive factor considered when determining both the midterm and final grades. Students entering late will excuse themselves for the interruption to their classmates. Laboratory Policy: Students are encouraged to help each other, but all projects in all parts must be the original work of the individual or team passing such work for partial course credit. Your instructor has the right to demand proof at any time of the genuineness and originality of the work. This process would most likely be demonstrated by asking a student to reproduce a piece of the work from scratch at a terminal in a live performance. Class and Lab Attendance: - Attendance is mandatory and will be taken at the end of every class and lab. Authorized absences will be accepted only with prior approved notice. - Athletes must give written notice of absences prior to conflicting events from the head of the Athletic Department. - Each student missing a class or lab is responsible for obtaining any and all information pertaining to the missed class lab session(s).Return to Parent Web Page!
Evaluation: Examination(s) 50% 25 points for the midterm and another 25 points will be awarded for the final exam if all questions are answered correctly. 50% C/C++-Based program projects. There will be several programs of varying degrees of complexity assigned during the semester. + Class participation - Class participation can be a positive factor.Return to Parent Web Page!
General Course Requirements: - Textbook readings and class handouts and supplements. - Class and Laboratory lecture notes. - Lab projects - Purchase and format three 3«" diskettes. - Research and present one current events project. Program Projects: Programs must be structured and well documented. A magnetic copy must be presented along with the hardcopy listing of the program to receive credit for each project. Program listings must contain the following: a. Student name. b. Course number and section id.. d. Date of submission. e. Assignment number. Program projects will not be returned unless they are unsatisfactory. Students may make an appointment with the instructor to the review their code. Students wishing an acknowledgement of acceptance may attach a cover page to the listing. This page will be returned with comments and recommendations. Plagiarism will not be tolerated. Copies of other student's work will be marked "F" and the occurrence will be immediately reported to the department chair and the academic dean in writing.Return to Parent Web Page!
Topical Outline: The following topics will be covered in class and reinforced through programming assignments. 1. Review of C Language basics (Loops, decisions, structures, arrays, and graphics) 2. Objects and Classes 3. Inheritance 4. Polymorphism 5. Operator Overloading 6. Encapsulation and Data Hiding Techniques 7. Use of Resource Tools and Classes supplied by Borland for Windows 8. Windows programming using a nonpreemptive operating systemReturn to Parent Web Page!
Reading Outline: Read chapters 1-6 of Lafore, ASAP. These chapters will provide the foundation for the first three weeks of C programming review. This will cover: Functions, Loops, Structures, Decision statements, and the Editing/ Compiling environment for Windows. From here we will read chapters 7:Objects and Classes, 9:Operator Overloading, and 10: Inheritance in Lafore's book. The later portion of the course will use Perry's book, more as a reference than a text. Concentrate on the first four - five chapters of this text. Tracks: The instructor would like to entertain several different tracks that will allow students to specialize and explore specific topics. Tracks will be discussed the night of the first class. Furthermore, the instructor will entertain the possibility of dividing the class into two groups depending on interest and ability. This was done the last time the course was taught and was considered successful by the students (student evaluation comments ). Your instructor will bring a portable computer to class and prototype each application before you go to lab. Lab time will be incorporated into each class starting the first week (pending lab availability). This semester we will be using the special DEC lab that uses 486-class machines and have Windows .Return to Parent Web Page!