2021 Faculty Courses School of Computing Undergraduate major in Computer Science
Object-Oriented Design
- Academic unit or major
- Undergraduate major in Computer Science
- Instructor(s)
- Takashi Kobayashi / Shinpei Hayashi
- Class Format
- Lecture
- Media-enhanced courses
- -
- Day of week/Period
(Classrooms) - 7-8 Mon (W331) / 7-8 Thu (W331)
- Class
- -
- Course Code
- CSC.T361
- Number of credits
- 200
- Course offered
- 2021
- Offered quarter
- 4Q
- Syllabus updated
- Jul 10, 2025
- Language
- Japanese
Syllabus
Course overview and goals
[Purpose]
Students learn practical skills about object-oriented analysis and design.
[Overview]
Students learn through practical training techniques and practical skills about software design by using object oriented design, design patterns, etc. Make experiences in usefulness of these techniques.
Course description and aims
By taking this course, students learn skills get skills of software development including requirements analysis using use case modeling, developing class diagrams, implementation and testing.
Keywords
Object oriented design, Class diagram, Use case modeling, Design pattern, Test, Metrics, Refactoring, UML, Java
Competencies
- Specialist skills
- Intercultural skills
- Communication skills
- Critical thinking skills
- Practical and/or problem-solving skills
Class flow
Each lecture is combined with a simple exercise.
Course schedule/Objectives
Course schedule | Objectives | |
---|---|---|
Class 1 | Introduction to Software Development Processes and reviews of Java programming | Java programming |
Class 2 | Software design led to high modifirability | Understanding software designs with super classes and module independence |
Class 3 | Class diagram | Writing class diagrams |
Class 4 | Writing class diagrams with a tool | Writing class diagrams with Eclipse |
Class 5 | Unit Test | Understanding the usage of JUnit in Eclipse |
Class 6 | Characteristics of object oriented design | Understanding data abstraction, polymorphism, abstract classes and basic ides of design patterns |
Class 7 | Design pattern (1) | Using design patterns for structure and behavior |
Class 8 | Design pattern (2) | Using design patterns for creation |
Class 9 | Improvement of design: Software metrics | Understanding and using software metrics |
Class 10 | Improvement of design: Refactoring | Understanding and using refactoring techniques |
Class 11 | Introduction to requirements analysis and Use case modeling | Understanding requirements analysis, and writing use case diagrams and descriptions |
Class 12 | Derivation of class diagrams from requirements documents | Understanding the usage of use case models and CRC method |
Class 13 | Derivation of class diagrams by CRC method | Using practically CRC method |
Class 14 | Introduction to UML diagrams | Understanding UML and writing a sequence diagram |
Study advice (preparation and review)
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
Textbook(s)
None. Slides of lectures are available via the home page.
Reference books, course materials, etc.
None
Evaluation methods and criteria
Small assignments (50-60%) and a final assignment (40-50%). Obtain 50% of full marks in each category.
Related courses
- CSC.T273 : Object-Oriented Programming
Prerequisites
Can make Java programs and use basically Eclipse for programming