Course Description
Course Name
Software Development 3
Session: VLNS3425
Hours & Credits
Prerequisites & Language Level
Taught In English
- There is no language prerequisite for courses at this language level.
Overview
Software Development 3 builds on the foundation delivered in Software Development 2 by examining in detail the programming paradigms of object-oriented, event-driven, and functional. These three paradigms separate the module into three distinct blocks. In object-oriented, students will examine object design, inheritance, and encapsulation. For event-driven programming, students will learn about event handlers and the development of Graphical User Interfaces (GUI) applications. Finally, in the functional programming block, students will learn about effect-free programming, first-class functions, and how functional (declarative) programming compares to imperative programming.
The module has a thread of software design running through all blocks, including design paradigms and design patterns. In addition, as the module incorporates GUI programming, students will be introduced to fundamental concepts of graphics and visualization, which will be returned to in the Data Visualisation module in Year 3. Due to the requirements of GUI programming, the students will gain in-depth knowledge of an industrial standard Integrated Development Environment such as Microsoft Visual Studio or JetBrains� IntelliJ.
The aim of Software Development 3 is to capstone the software development theme in Computer Science by widening students' perception of programming approaches and paradigms. At the end of the module, students should have enough experience and exposure to programming languages and frameworks so they can use any tool they are required to. This is a fundamental capability for Computer Science students as the tools they will use in the workplace are varied and liable to change often during their careers.
*Course content subject to change