Title Advanced Programming Techniques
CodeSCPS311
PrerequisitesSCPS211 OR SCPS212Co-requisitesSCPS211
Aim To help students inculcate emerging professional practices beyond object orientation
with clear emphasis on enterprise development technologies.
Content

Articulate and apply principles of engineering reusability: simplicity, safety from
bugs, ease of understanding, and readiness for change.

  • Solid grasp of, and ability to apply, key software engineering ideas, including
    interfaces, representation invariance, specifications, invariants, data
    abstraction, design patterns, and unit testing.
  • Design, implement, and test a small- to medium-scale software system
    (thousands of lines of code, multiple modules).
  • Experience developing software collaboratively in a team.
  • Use modern programming tools (e.g. Eclipse, Subversion, JUnit) and modern
    programming technologies (e.g. I/O, regular expressions, network sockets,
    threads, GUIs).
Outcomes
  •  Gain mastery in the usage of core patterns in typical frameworks;
  • Use pattern knowledge to understand typical framework for enterprise software
    development;
  • Engage with tools for Enterprise Systems Development.
Assessment 40% Theory Examination or test; 30% Practical Examination; 30% Class Test
DP Requirements40% minimum must be scored by a student to qualify to write examination.