Module Code | CSU11012 |
Module Name | Introduction to Programming I I |
ECTS Weighting[1] | 5 ECTS |
Semester taught | Semester 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 Component | Brief Description | Learning Outcomes Addressed | % of total | Week set | Week due |
eTest | 2 hour programming test in a supervised laboratory where students must implement and submit a solution to two programming problems. | LO2, LO3, LO4, LO5, LO6, LO7 | 80% | 13 | 13 |
Programming assignment | Assignment where students are asked to implement a solution to a problem in Java, using objects. | LO2, LO3, LO4, LO5, LO6, LO7 | 5% | 3 | 4 |
Programming assignment | Assignment where students are asked to implement a solution to a problem in Java, using objects. | LO2, LO3, LO4, LO5, LO6, LO7 | 5% | 5 | 6 |
Programming assignment | Assignment where students are asked to implement a solution to a problem in Java, using objects. | LO2, LO3, LO4, LO5, LO6, LO7 | 5% | 8 | 9 |
Programming assignment | Assignment where students are asked to implement a solution to a problem in Java, using objects. | LO2, LO3, LO4, LO5, LO6, LO7 | 5% | 10 | 11 |
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 | |
lecture | 24 hours | |
tutorial | 12 hours | |
labs | 8 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 Hours | 105 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.