5020.17 - Software Engineering


Course number
5020.17
Title
Software Engineering
ECTS
7.5
Prerequisites
This course is placed late in the education - just after 20 other courses (150 ECTS). Preferred prerequisites are therefore a broad knowledge and maturation corresponding to at least 15 courses (112,5 ECTS) from the Software Engineering education, e.g.: Introduction to Computer Science, Computer Networks and Data Communications, Introductory Programming in C++, Mathematics 1 for Information Technology, Object based programming in C++, Databases and SQL, Introduction to Web Development, Object oriented programming in C++, Algorithms and Data Structures, Design patterns with C++, Computer Architecture and Operating Systems, Information Security and Risk Analysis, Web Applications: ASP.NET with C#, Project Management, IT-project.
Purpose
The objective of this course is to acquire the in-depth knowledge of Software Engineering, conduct research and development within this area, and present a game engine in a written report to be defended during an oral examination.
Content
Different models for system development in which a game engine will be used as a topical example; and as a project-exercise. This includes quality aspects, documentation and tools for software development: - Software processes; e.g.: Rational Unified Process (RUP) - Agile software development - Requirements engineering - System modeling - Architectural design - Design and implementation - Programming in C++ and the Simple DirectMedia Layer library will be used (https://www.libsdl.org/) - Software testing - Software evolution
Learning and teaching approaches
Lectures, exercises and project-based work. A project report is mandatory and has to be approved in order to be listed for an oral examination in this course.
Learning outcomes
By the end of the course, the student should know and understand: - Methods and techniques for system development - Object orientation, UML and methods based on UP - Game Engine Architecture and be able to: - Implement a Game-Engine prototype based on methods and techniques learned in this course - Individually or in a group write a clear, organized and stylistically sound report, which gives a good documentation of the Game-Engine project and also discusses the project in a broader context within e.g. current IT-developments, IT-innovation and/or IT-research. - Individually, present the project and defend it orally.
Assessment method
- Students with approved projects will be listed individually for an oral examination to present and defend the project-report. The final grade will represent a combined grading of both the written report and the oral examination. - Students that fail the oral examination may be listed for a re-examination. - Students, that did not submit an approved project-report will get the grade 00/not passed, and may be listed for a re-examination, when they have submitted an approved report, which may be a corrected version of the originally submitted report.
Examination
External
Marking scale
7-
Bibliography
Software Engineering, Tenth Edition, after Ian Sommerville . Paperback: 816 pages Publisher: Pearson; 10th edition Language: English ISBN-10: 1292096136 ISBN-13: 978-1292096131 https://www.amazon.co.uk/d/Books/Software-Engineering-Ian-Sommerville/1292096136/ref=sr_1_1?s=books&ie=UTF8&qid=1481713805&sr=1-1&keywords=software+engineering+sommerville Game Engine Architecture, Second Edition, eftir Jason Gregory. Hardcover: 1052 pages Publisher: A K Peters/CRC Press; 2 edition (29 Sep 2014) Language: English ISBN-10: 1466560010 ISBN-13: 978-1466560017 http://www.amazon.co.uk/Game-Engine-Architecture-Second-Edition/dp/1466560010/ref=dp_return_1?ie=UTF8&n=266239&s=books
Contact
Hannes Gislason