Syllabuses - UG

CS116 - Introduction to Programming

TIMETABLETEACHING MATERIAL
Credits20
Level1
SemesterTerm 3
AvailabilityAvailable to participants taking UG Graduate and Degree Apprenticeship programmes, e.g. BSc Hons Digital and Technology Solutions.
PrerequisitesN/A
Learning Activities Breakdown10 tutorials, online study, 4 practical programming exercises and a class test.
Assessment100% coursework consisting of practical work (programming assignments worth 50%) and a class test at the end of the term (50%).
LecturerMartin Goodfellow

Aims and Objectives

The aim of the class is to give participants a solid foundation in programming and equip them with the ability to write programs.

Learning Outcomes

After completing this class participants will be able to: 

  • Appreciate the role of a high-level language within the context of a computer system. 
  • Understand the program development process. 
  • Understand the principles of program design and demonstrate their practical application. 
  • Design, implement and test small software systems using a high-level language (currently Java) to conform to a specification. 
  • Demonstrate familiarity with a sophisticated interactive development environment (IDE).

Syllabus

  1. Introduction to Objects: Objects and Classes. Class Definition. Fields. Basic Types (int, char, bool) and Strings. Methods. Parameters. Return Types. Scope. Visibility. Object Interaction. Class and Object Diagrams. 
  2. Selection and Iteration. Conditional Statements. Boolean Expressions. For Loops. While Loops. Nested Loops. Switch Statement. 
  3. Collections Arrays. ArrayLists. HashMaps. HashSets. Java API. Iterators. Foreach Loop. Generic Collections. 
  4. Inheritance and Interfaces. Inheritance. Overriding. Static and Dynamic Types. Subtyping. Polymorphism. Type Substitution. Interfaces. Abstract Classes. Object Class 
  5. Input-Output and Error Handling. Console Reading and Writing. File Reading and Writing. Exceptions. Defensive Programming. Testing and Test-Driven Development. JUnit. Debugging. 
  6. Graphical User Interfaces (GUIs) GUI Components. GUI Layout. Event Handling. 

Recommended Reading

This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.

Objects First with Java, A Practical Introduction Using BlueJ, 6th Edition, Global Edition

Transferable skills

During and after completing this class participants will: 

  1. develop their problem-solving skills. 
  2. develop their time management skills. 

Last updated: 2022-12-14 12:01:37