BSc: Software Systems Design
Revision as of 12:54, 29 November 2021 by N.askarbekuly (talk | contribs)
Software Systems Design
- Course name: Software Systems Design
- Course number: XYZ
- Knowledge area: Software Development Fundamentals, Software Engineering, Systems Fundamentals
Administrative details
- Faculty: Computer Science and Engineering
- Year of instruction: 3rd year of BS
- Semester of instruction: 1st semester
- No. of Credits: 4 ECTS
- Total workload on average: 144 hours overall
- Class lecture hours: 2 per week
- Class tutorial hours: 2 per week
- Lab hours: 2 per week
- Individual lab hours: 0
- Frequency: weekly throughout the semester
- Grading mode: letters: A, B, C, D
Prerequisites
- Data Structures and Algorithms I
- Data Structures and Algorithms II (merge with [this_course https://eduwiki.innopolis.university/index.php/BSc:IntroductionToProgrammingII.S22])
- Discrete Math/Logic
- Introduction to Programming I
- Introduction to Programming II
Course outline
The need for building large scale Software has been increased in the last two decades. Nowadays, Software engineers are less likely to design data structures and algorithms from scratch. They are required to build systems from library and framework components. The Software System Design course aims to teach students the m ain concepts related to the construction of software systems. The course covers technical topics such as concepts of design for complex systems, object oriented programming, UML notation, among others.
Expected learning outcomes
After taking the course, students will
- understand and apply object-oriented design techniques;
- develop and evaluate software systems;
- express the specifications and design of an application using UML;
- specify parts of the design using a formal design language (OCL);
- have experience designing medium-scale systems with patterns;
- have experience testing and analysing software.
Expected acquired core competences
- Formal Models and Semantics
- Requirements Engineering
- Software Design
- Software Engineering
- Software Evolution
Textbook
- Grady Booch, Robert Maksimchuk, Michael Engle, Bobbi Young, Jim Conallen, and Kelli Houston. 2007. Object-Oriented Analysis and Design with Applications, Third Edition (Third ed.). Addison-Wesley Professional.
- Hans-Erik Eriksson, Magnus Penker, Brian Lyons, David Fado, UML 2 Toolkit, OMG Press, 2004
Reference material
- Lecturing and lab slides and material will be provided
Required computer resources
Students should have laptops with basic software for reading and editing document.
Evaluation
- Course Project (30%)
- Mid-term Exam (30%)
- Final Exam (30%)
- Class and lab participation (10%)