SEDS 504
Software Construction
This course covers the necessary background for software construction. Object-Oriented Programming, Classes and Methods, Inheritance, Polymorphism, Abstract Classes and Interfaces, Exception Handling, Collections, Generics, Object-Oriented Analysis and Design, UML Diagrams.
Reference book(s):
• Absolute Java, Global Edition, 6/E, Walter Savitch, Kenrick Mock, Pearson, 2016
• Starting Out with Java: From Control Structures through Objects, Global Edition, 6/E, Tony Gaddis, Pearson, 2016
Course Objectives: To introduce the fundamentals of software construction.
Week | Topics |
1 | Introduction to Object-Oriented Programming |
2 | Flow of Control |
3 | Defining Classes I |
4 | Defining Classes II |
5 | Linear Data Structures in Object-Oriented Programming |
6 | Recursive Data Structures in Object-Oriented Programming |
7 | Inheritance |
8 | Polymorphism |
9 | Abstract Classes and Interfaces |
10 | Exception Handling |
11 | Collections |
12 | Generics |
13 | Object-Oriented Analysis and Design |
14 | UML Diagrams |
Grading:
Final Exam %40
Midterm Exam %30
Project %30
Course Learning Outcomes:
CO1 To be able to formulate and solve engineering problems with software construction
CO2 To be able to use and design classes
CO3 To be able to implement object-oriented design
CO4 To be able to design object-oriented software
Contribution of Program Learning Outcomes:
PO1 | PO2 | PO3 | PO4 | PO5 | PO6 | PO7 | |
CO1 | 1 | 1 | 1 | 1 | |||
CO2 | 1 | 1 | 1 | 1 | |||
CO3 | 1 | 1 | 1 | 1 | |||
CO4 | 1 | 1 | 1 | 1 |
Justification of the course:
It is a core course of the Software Engineering and Data Science Master of Science Program and it is one of the important Software Engineering core courses. It provides the necessary background for software construction to be used in software engineering.
Overlapping with or complementing topics in courses:
This course is fundamental to all Software Engineering courses. This course follows Programming and Data Structures course.