Please note that the specifics of this Course Syllabus are subject to change. Instructors will notify students of any changes and students will be responsible for abiding by them. Even if you print this syllabus, please check the online version often.
IST 311: Object-Oriented Design and Software Applications (3 credits) - Introduction to object-oriented applications including applications in an Object Oriented Design (OOD) language or OOD languages.
This course will provide students with a background in object-oriented design and software development. Using modern design and programming languages (UML and Java) and with the support of software modeling tools (Microsoft Visio), students will gain an appreciation for the nature of object-oriented software design and for some of the issues that arise in the space between requirements analysis and design, and between design and implementation. The course will interleave design and programming activities and will incorporate active, collaborative, and problem-based learning experiences to the greatest possible extent.
- IST 242 or CMPSC 221, a grade of "C" or better is required
At the conclusion of this course, students will be able to:
- Explain the foundations of the object-oriented software paradigm.
- Explain the central issues in software design and development.
- Use the Java programming language and some of its core class libraries.
- Use the full range of UML diagrams to represent different system design elements.
- Design and create a basic, windowed, event-driven application in Java.
You are responsible for all the readings, even if material is not covered explicitly in a lesson. Taking notes on the material you are reading and reflecting on both the reading and these notes will help you to understand better the issues, concepts, and techniques that are being presented.
We will be using electronic texts primarily from the Safari repository.
- For UML we will be making extensive use of:
- UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd edition, 2003, Fowler, M. Addison Wesley Professional.
- For Java you can use any book you like with sufficient coverage of course topics. Some examples from the Safari library include:
These are on Safari, but if you prefer hard copies by all means buy them. Both are worthwhile additions to your library. Another good Java resource NOT in the Safari library is:
- Core Java for the Impatient, 2015, Horstmann, C.S., Addison Wesley.
Some other recommended text resources:
- The Elements of UML 2.0 Style, 2002, Ambler, S.W., Cambridge University Press
The course will make use of several different technologies including an Integrated Development Environment (IDE), software modeling and design applications, and demonstration and walk-through recording software.
Specific instructions for specific tools will be posted to the Canvas Unit where related activities and deliverables appear.
You will be using the Netbeans Integrated Development Environment for all project development work. Netbeans is free and is available for the Windows, Mac, and Linux operating systems.
You will be using the Unified Modeling Language (UML) for part of your conceptual design. There are several software tools available for constructing UML models.
You may choose to use the MS Visio application, which is available through vLabs. The course lessons generally use MS Visio for UML demonstrations. Check out these instructions for using vLabs.
You can also install MS Visio on your own computer through the Penn State Dreamspark program
An open source and free tool you can use to create your UML diagrams is ArgoUML.
Finally, you may also choose to use an online tool for creating your UML models. One that has been tested and is recommended for the course is draw.io.
You can use any UML modeling tool you like as long as it will produce a figure or file that can be inserted into your MS Word document.
Assignments & Grading
The course will follow an active, problem-based approach to learning. There are no exams; quizzes, homework assignments and longer-term group projects will provide the opportunity to gain practice with new concepts and skills, and develop and demonstrate a solid understanding of the course material.
About five (5) quizzes will be given over the course of the semester to encourage your ongoing attention to course material. Covered topics will be drawn largely from assigned readings, but all other lecture content and supplementary readings are also fair game.
Homework activities are assigned and reviewed regularly. The purpose of many homework assignments is to encourage you to explore material before it is discussed in class. Homework assignments are marked with an emphasis on effort and completeness. Many homework assignments are for paired work but note that this will be specified for each assignment, assume that you are to complete assignments on your own, individually, unless explicit in the assignment.
The main course project will consist of design and development of a substantial object-oriented software application. You will work on the project exercises in groups of three to five. The instructor will assign group membership during the first few weeks of class. The purpose of this project is to give you hands-on, in-depth experience with a wide range of object-oriented design and development activities.
- Group Project Performance & Grading - The mid-term and final group project deliverables as well as any deliverables collected and marked between these major project milestones will be assigned a single grade. However, your individual grade for the group project components will reflect the results of group peer evaluations that will be performed over the course of the semester. In extreme cases, students that do not contribute to the group project will be asked to do the work on their own or with other non-contributors.
- Assignment Grading Criteria
- Correctness (e.g. diagrams use correct syntax; programs compile & run)
- Completeness (e.g. models reflect the domain problem; programs implement requirements)
- Clarity (e.g. diagrams and programs are formatted professionally; both are annotated)
|Grading Category||Percentage of Final Grade|
Course Grading Scale
The following are minimum cutoffs for each grade:
- 93.00% = A
- 90.00% = A-
- 87.00% = B+
- 83.00% = B
- 80.00% = B-
- 77.00% = C+
- 70.00% = C
- 60.00% = D
- less than 60.00% = F
Course Policies and Expectations
- Late Submissions: All work must be completed and turned in before the due date and time.
- Assignments submitted within 48 hours after the due date and time will be marked for 50% credit. This means you will receive your marked score divided by 2.
- There are no exceptions to the late submission policy.
- Logging into Canvas - Students are expected to login regularly to check for course updates, announcements, emails, discussions, etc.
- Updates will occur regularly so please make sure to keep up with announcements and updates to the course site.
- Emailing through Canvas - Students are expected to use Canvas for all course email communication.
- Attending virtual meetings - Students are expected to use specified virtual meeting tool(s) for collaboration, meetings, presentations, etc., as needed.
Penn State and the College of Information Sciences and Technology are committed to maintaining Penn State's policy on Academic Integrity in this and all other courses. We take academic integrity matters seriously and expect you to become a partner to the University/College standards of academic excellence.
For more information, please review these policies and procedures:
While utilizing additional sources outside of this class is encouraged for gaining a better understanding of course concepts, seeking explicit answers for graded assignments from outside sources (e.g. Course Hero, Chegg, tutoring services like tutor.com, etc.) is considered CHEATING and will not be tolerated. Sanctions range from failure of the assignment or course to dismissal from the University. Additionally, sharing course content without permission is a violation of copyright and may result in university sanctions and/or legal ramifications. Contact your instructor with questions related to this topic.
Review current information regarding various Penn State policies (such as copyright, counseling, psychological services, disability and military accommodations, discrimination, harassment, emergencies, trade names, etc.) on the University Policies page.
Penn State takes great pride to foster a diverse and inclusive environment for students, faculty, and staff. Acts of intolerance, discrimination, or harassment due to age, ancestry, color, disability, gender, gender identity, national origin, race, religious belief, sexual orientation, or veteran status are not tolerated and can be reported through Educational Equity via the Report Bias webpage (http://equity.psu.edu/reportbias/).
Find extensive information and links to many Penn State and IST resources (including the Penn State libraries, video conferencing tools, technology and software, writing and research help, and much more) on the Resources page.
Standard World Campus computer technical specifications are assumed for this course. Please test your computer for requirements. In addition, a webcam and a headset with a microphone are REQUIRED for the course. These may be used for virtual meetings, virtual office hours, interactions with classmates and your instructor, and group presentations - which are all conducted with virtual meeting tools. No special software is required.
The following schedule outlines the topics covered in this course, along with the associated time frames, readings, activities, and assignments. All due dates reflect Eastern Time (ET). Specifying the time zone ensures that all students have the same deadlines, regardless of where they live.
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.