Faculty Contact Information:
- Name: Jerry Rugg, Adjunct Associate Professor
- E-mail address: jrugg@faculty.ed.umuc.edu
- Office hours: I check into the WebTycho classroom almost daily and you are encouraged to ask all questions in one of the Conferences I will set up there.
- Details of contact: Except for emergency situations, I do not accept telephonic requests for help. By exception only, I will accept direct email contact. Once contacted, you should expect at least a preliminary answer within 1-2 days.
- Teaching Assistant information: None
|
|
Course Materials:
|
Horstmann, C. (2006). Object-oriented design and patterns (2nd ed.). Hoboken, NJ: John Wiley and Sons, Inc.
|
|
Course Description:
|
CMIS 345 Object-Oriented Design and Programming (3) Prerequisite: CMIS 241 or CMIS 340. An examination of the principles, practices, and applications of programming in an object-oriented environment. Assignments include programming projects in Java that implement techniques of object-oriented design.
|
|
Course Goals/Objectives:
1. Understand the fundamental concepts and advantages of the object-oriented system development process 2. Explain object-oriented system development features, such as encapsulation, polymorphism,and inheritance 3. Describe the major steps of the Object Modeling Technique (OMT) used in designing and developing object-oriented software systems 4. Apply object-oriented concepts to perform system analysis and design using the OMT 5. Develop, modify, and maintain application programs using C++ object-oriented programming features, including function overloading, function overriding, virtual function, inheritance,multiple inheritance, and templates 6. Understand the past and present trends in object-oriented concepts. 7. Use object-oriented techniques to preserve and disseminate complex code to programmers across all disciplines.
|
|
Course Introduction:
|
This is the last in the series of Java programming courses offered to students interested in learning computer programming and desiring a degree in Computer Studies.
This course emphasizes the principles; practices and applications of object oriented programming using any modern object oriented programming language such as Java, C#, C++ and Object Pascal. The programming language of choice for this course will be Java.
|
|
Grading Information and Criteria:
|
Course Evaluation:
Mid-Term Exam - 15%
Final Exam - 15%
Participation - 10%
Projects (4) 60% (projects may not be equal weighted)
Grading Scale:
Letter grades will be assigned as follows:
90 - 100% = A
80 - 89% = B
70 - 79% = C
60 - 69% = D
Less than 60% = F(a)
Additional Grading Information:
Late exam policy. Unless you have made agreeable arrangements with me PRIOR to the scheduled exam date, there will be no make-up exams. In the event of an online exam, the exam will be reduced by at least one letter grade for one day late, two letter grades for two days late and an automatic F for any exam later than two days.
Late programming project policy. Unless you have made agreeable arrangements with me PRIOR to the project due date, grades on all projects submitted after the due date will be reduced by 10% (one letter grade) per week after the due date.
WebTycho classroom participation. Participation will be judged based on the quality and quantity of your postings to the discussion conferences and your response to periodic "Question of the Day" postings I will make. Your participation points can easily become the swing points between a higher versus a lower grade.
Proctored final exam. It is your responsibility to make appropriate arrangements to take the proctored final exam during the week of 16 - 22 June 2008. Normally the exam is administered through your local UMUC Field Representative. If this is not a possibility for you need to make appropriate arrangements with the UMUC-Europe Distance Education Office.
|
|
Other Information:
|
The following is a list of expected student responsibilities.
Attendance / Participation. You are strongly encouraged to participate in all discussions. It can only help your understanding of the course material. Participation, which is 10% of your final grade, in discussions, both asking questions and providing answers, may well become the difference in your final grade between an A-B or B-C.
Time Requirements. Students will be spending considerable amount of non-classroom time researching, designing and implementing the programming projects. A rough estimate, based on the mythical average student, would be 10-12 hours per programming project. Note, this estimate does not include time spend reading the assigned chapters.
Computer Laboratory Facilities There may be University of Maryland Computer Labs available for your use. If you plan on using these facilities, you should check the exact hours and procedures as they may vary from course to course and location to location. You are not required to use these lab facilities. You may work at home, at work (with proper permissions) or any other place as long as you do your own work.
Java Software. It is expected you already have setup or procured access to a computer running the Java JDK and your favorite Java Integrated Development Environment (IDE). We will not be spending class time discussing the setup and configuration of any Java IDE although I am willing to answer questions for the Java IDEs I am familiar with in the classroom discussion areas. There are many free Java IDE programs available. Additional informations and help will be posted in the WebTycho classroom.
|
|
Project Descriptions:
|
There will be four major programming assignments in this course. The assignments will be taken from or modify the exercises found at the end of each chapter. The following are general programming assignment requirements:
- Programming assignments must be well commented
- Programming assignments will follow the object-oriented design and patterns concept outlined in the text
- Programming assignments will:
- Use named constants to enhance modifiability
- Use variable and method identifiers that are meaningful
- Use established Java programming style conventions
- Programming assignments must be complete
- Programming assignments must be tested
- Programming assignments must meet design specifications prior to submission
|
|
Academic Policies:
Cases of plagiarism are handled consistent with current UMUC guidelines. See the UMUC policies at the following URL: http://www.umuc.edu/policy/
If it is necessary to open another section of this course to accommodate additional student enrollments, the faculty member teaching the new section may use a slightly different syllabus.
All undergraduate distance education courses require a proctored exam. For more information, go to http://www.ed.umuc.edu/de/deprocexam_procedures.html.
|
|
Course Schedule:
The course is broken into blocks with each block resulting in a gradable project or exam.
Block 1: 14 - 29 April 2008
Welcome Email
Chapters 1 - 3
Lab 1 due 29 April 2008
Block 2: 30 April - 15 May 2008
Chapters 3 - 4
Lab 2 due 15 May 2008
Block 3: 12 - 14 March 2008
Online Midterm Exam
Chapters 1 - 4
Block 4: 16 - 30 May 2008
Chapters 6 - 7
Lab 3 due 30 May 2008
Block 5: 31 May - 15 June 2008
Chapters 8 - 10
Lab 4 due 16 June 2008
Block 6: 16 - 22 June 2008
Chapters 1 - 10
Proctored Final Exam
22 June 2008 - Last day for late work
|
|
Faculty Bio:
|
I started writing computer programs for mainframe computers using the FORTRAN computer language in 1985. These programs dealt mainly with atmospheric and aerodynamic models. I moved to writing programs for IBM compatible computers using PASCAL, C, and ADA computer languages in 1988. During my 24 year career in the U.S. Air Force I spent a great deal of time in integrating microcomputers as replacements for aging teletype machines on the worldwide Automated Weather Network. I also worked at the Automated Weather Network main switching hub routing data packets over the worldwide weather data exchange network using various protocols and transmission capabilities.
I started teaching evening courses part time for Park College in 1992 and joined the UMUC - Europe staff in the Fall of 1993. Since then I have taught just about every under graduate programming course offered my UMUC plus a few side diversions in networking protocols. I started teaching graduate courses for UMUC - Europe in the Spring 2002.
I currently program almost exclusively for the Win32 environment using the latest .NET Framework as the Data Sotorage Controller architect for an enterprise caliber, multi-tier, storage virtualization system. Other projects I have architected and / or worked on over the past few years include a Web Based Database Application Security and Group Policy system. Also a proprietary script language to record and playback routine administrative tasks and application installation routines over a LAN; a set of client / server programs, using Java, http and XML, to remotely configure and install software on a client work station running Windows, Linux Mac OS X or Solaris.
|
|