CSU11012 Introduction to Programming II

Module CodeCSU11012
Module NameIntroduction to Programming I I
ECTS Weighting[1]5 ECTS
Semester taughtSemester 2
Module Coordinator/s  Dr Hitesh Tewari

Module Learning Outcomes

On successful completion of this module, students will be able to:

  • LO1 – Solve introductory programming problems in Java.
  • LO2 – Break problems into sub-problems, which can then be solved using simple algorithms.
  • LO3 – Design simple classes using primitive data types, Strings and arrays.
  • LO4 – Build object-based programs using class-based decomposition.
  • LO5 – Write, compile, test, and debug object-based programs using an Interactive Development Environment (IDE).
  • LO6 – Recognise the software engineering concerns that give rise to the use of classes and other abstraction mechanisms.

Module Content

This course introduces students to the object-oriented approach to program design and teaches them how to write programs in an object-oriented language (in this case Java). Students also have the opportunity to reinforce their problem solving and programming skills by developing solutions to programming problems and implementing those solutions as object-based programs.

Specific topics addressed in this module include:

  • Design of simple algorithms using sequencing, selection, iteration and methods.
  • Arrays including higher dimensional arrays.
  • Using, creating and designing classes and objects including attributes and methods.
  • Abstraction, encapsulation and immutability in designing classes.
  • Advanced data structures and recursion.

Teaching and learning Methods

Material is presented through lectures with all programs provided online in advance.

During tutorials students are asked to solve one or two problems either on paper or on a computer.  The lecturer and a number of demonstrators are constantly talking to individual students to help them learn how to address the problems. Students are asked to write (& submit) almost bi-weekly programming assignments.  These are released to the students after the weekly tutorial and two one hour lab sessions are provided to assist students when they have had a few days to start the solution. 

Assessment Details

Assessment ComponentBrief DescriptionLearning Outcomes Addressed% of totalWeek setWeek due
eTest2 hour programming test in a supervised laboratory where students must implement and submit a solution to two programming problems.LO2, LO3, LO4, LO5, LO6, LO780%1313
Programming assignmentAssignment where students are asked to implement a solution to a problem in Java, using objects.LO2, LO3, LO4, LO5, LO6, LO75%34
Programming assignmentAssignment where students are asked to implement a solution to a problem in Java, using objects.LO2, LO3, LO4, LO5, LO6, LO75%56
Programming assignmentAssignment where students are asked to implement a solution to a problem in Java, using objects.LO2, LO3, LO4, LO5, LO6, LO75%89
Programming assignmentAssignment where students are asked to implement a solution to a problem in Java, using objects.LO2, LO3, LO4, LO5, LO6, LO75%1011

Note that it may be necessary to reduce the number of assessed Programming assignments (if insufficient demonstrators are available).  The weights of these assignments will be redistributed over the other Programming assignments in the semester.

Reassessment Details

Examination by eTest (2 hours, 100%). The supplemental mark in this module is based only on the supplemental eTest. Students must develop and implement solutions to one problem on the Ecilpse development environment on a machine in a supervised laboratory.

Contact Hours and Indicative Student Workload

Contact Hours (scheduled hours per student over full module), broken down by:37 hours
 lecture24 hours
 tutorial12 hours
 labs8 hours
Independent study (outside scheduled contact hours), broken down by:71 hours
 preparation for classes and review of material
(including preparation for examination)
26 hours
 completion of assessments (including examination, if applicable)45 hours
Total Hours105 hours

Recommended Reading List

Java How to Program (late objects), 11th Edition, Paul Deitel and Harvey Deitel, Prentice Hall, 2018. 

Please check the Blackboard CSU11012 Module website for details of other texts and online resources.

Module Pre-requisites

Prerequisite modules: CSU11011: Introduction to Programming I

Other/alternative non-module prerequisites: None.

Module Co-requisites

Module Website

Blackboard