Primer for Software Design and Programming (PG) and Software Programming III (UG)
The content is intended to "bridge" the gap in material coverage between other routes and the prescribed PoP-I and PoP-II pathway; it is a recommended module for any student undertaking the "SDP" module.
- A solid understanding of how to use the Scala programming language to develop procedural and object-oriented programs.
- Variables, types, initialization, comments
- Flow control: branches, loops
- Source code version control
- Simple and complex data types: primitive types, strings, (multi-dimensional) arrays
- Introduction to classes and objects: initialization, methods, and contructors
- Data structures: lists, stacks, trees, maps (and iterators)
- Software testing and testing-driven development
- More on object orientation: inheritance, polymorphism, overloading
- Exception Handling
- Network programming
- Concurrent programming
Prior working knowledge of a programming language, e.g., Python, Java, etc.
July through September; self study online module with a test in late September (if relevant)
There is no coursework (as the module is not assessed) but a series of exercises are provided and students are strongly advised to attempt them.
The module is assessed by an end of module test which students' have to pass to gain entry to the "Software Deisgn and Programming/Software and Programming III" module (unless they have already acquired the entry requirements for the module(s)).
This module does not contribute to the student transcript.
Notes, exercises and other materials are provided but should you wish to have a textbook then one of the following should suffice:
- Scala for the Impatient, 2nd Edition by Cay Horstmann, Addison-Wesley 2016.
- Effective Scala by Marius Eriksen, Twitter Inc. 2012.
Scala Cookbook: Recipes for Object-Oriented and Functional Programming by Alvin Alexander, O'Reilly Media 2013.