5020.15 - Software Engineering

Course number
Software Engineering
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.
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.
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.
Marking scale
Software Engineering, Ninth Edition, by Ian Sommerville . Paperback: 792 pages Publisher: Pearson; 9 edition (19 Feb 2010) Language: English ISBN-10: 0137053460 ISBN-13: 978-0137053469 http://www.amazon.co.uk/Software-Engineering-International-Ian-Sommerville/dp/0137053460/ref=tmm_pap_swatch_0?_encoding=UTF8&sr=1-1&qid=1418925369 Game Engine Architecture, Second Edition, by 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
Hannes Gislason