Welcome to COMP 2000 - Object-Oriented Design! This website is designed to keep you informed about the schedule, policies, labs, projects, and other elements of the course.

Meeting Time and Place

Time: MWF 11:30 - 12:25 a.m. (Lecture)
TR 11:30 a.m. – 12:50 p.m. (Lab)
Location: The Point 113
Prerequisites: COMP 1600

Instructor

Name: Dr. Barry Wittman
E-mail: wittman1@otterbein.edu
Office: The Point 105
Phone: (614) 823-2944
Office Hours: MWF 9:00 – 10:15 a.m.
MWF 3:00 – 5:00 p.m.
TR 9:00 – 9:55 a.m.
TR 2:00 – 5:00 p.m.
and by appointment

Text Book

Barry Wittman, Aditya Mathur, and Tim Korb
Start Concurrent: An Introduction to Problem Solving in Java with a Focus on Concurrency
Available free online here


Course Catalog Description

Bridging from analysis to implementation, how to decompose a proposed system so that it can be implemented in a reliable and cost effective manner. Object-oriented design of component-based software is emphasized, and utilizing tools to document the design. The relationship between component design and component implementation is explored. Design Patterns will also be emphasized.

For official course syllabus, please click here.

Student Learning Outcomes

By the end of the course, students will be able to:

  1. Apply knowledge of computing and mathematics, including common data structures and basic algorithms, to solve problems
  2. Design, implement, and evaluate a computer-based system, process, component or program to meet desired needs
  3. Describe fundamental principles of the cycle of designing, implementing, compiling, and testing code
  4. Learn to adhere to standards of style and documentation
  5. Use inductive or deductive reasoning to formulate solutions to problems
  6. Model real-world phenomena mathematically and computationally
  7. Employ interfaces and inheritance to design reusable software components
  8. Use exceptions to handle program errors
  9. Construct graphical user interfaces (GUIs)
  10. Apply and explain recursion
  11. Read and write binary and text files
  12. Use sockets for network communication
  13. Implement linked lists
  14. Apply library classes effectively
  15. Use UML as part of the code development process
  16. Design and run unit tests
  17. Use regular expressions for pattern matching

Program Learning Outcomes

The Computer Science major has a set of 10 Student Learning Outcomes (SLOs). Work in this course contributes to the following SLOs:

  1. Students can methodically solve algorithmic problems in at least one programming language.
  2. Students develop an understanding of the recurring themes of abstraction and computation.
  3. Students are proficient in a software development paradigm.
  4. Students can apply development practices and process to a variety of problems.
  5. Students can independently learn and apply new methods and tools.
  6. Students can effectively collaborate in team projects.