CPT105 Introduction to Programming in Java Semester 1 2021-2022
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
CPT105
Introduction to Programming in Java
Semester 1
2021-2022
SECTION A: Basic Information
口 Brief Introduction to the Module
Students will learn the basics of programming in Java and in particular Object Oriented Programming. No previous knowledge of programming is assumed. There is a heavy emphasis on practical work and problem solving.
口 Key Module Information
Module name : Introduction to Programming in Java
Module code : CPT105
Credit value : 5
Semester in which the module is taught : 1
Pre-requisites needed for the module : None.
Programmes on which the module is shared :
BSc Applied Mathematics
BSc Bioinformatics
BEng Industrial Design
BSc Economics
BSc Economics and Finance
BEng Digital Media Technology
BEng Architecture
BA Digital Media Arts
BA Accounting
口 Delivery Schedule
You will attend 1 lecture per week as per your timetable and 1 lab session. All lectures and labs are online between Week 1 and Week 4 . All material will be made available at the start of the week. Lecturers will be available to answer questions online during the timetabled lecture sessions, and TA support will be available online during the lab sessions . Lectures and labs will be moved on-site from Week 5 to Week 14.
Lectures are timetabled at: (you should only attend 1 session ) Tuesday 16:30 – 18:30 Online (Week 1-4), Onsite ( SA169, Week 5- 14) Wednesday 11:00 – 13:00 Online (Week 1-4), Onsite(SA169, Week5- 14)
Lab Sessions : (you should only attend 1 session )
Monday 11:00 – 13:00 Online (Week 1-4), Onsite(SD554, SD546, Week5- 14)
Monday 14:00 – 16:00 Online (Week 1-4), Onsite(SD554, SD546, Week5- 14)
Monday 18:00 – 20:00 Online (Week 1-4), Onsite(SD554, SD546, Week5- 14)
Tuesday 11:00 – 13:00 Online (Week 1-4), Onsite(SD554, SD546, Week5- 14)
In addition to the labs, there are additional support classes, which are available by appointment (booking on Learning Mall in advance) to answer specific queries
Monday 20:00 – 21:00 – Room SD446
Tuesday 18:30 – 20:30 – Room SD446
口 Module Leader and Contact Details
Name : Xiaohui Zhu
Email address : Xiaohui[email protected]
Room number and office hours: SD535, Monday 9:00- 10:00, 14:00- 15:00
Preferred means of contact : email
口 Additional Teaching Staff and Contact Details
Name
Name |
Email address |
Room number |
Office hour |
Erick Purwanto |
SD545 |
Thursday 14:00- 16:00 |
|
Ping Zhang |
EE222 |
Wednesday 13:00- 15:00 |
SECTION B: What you can expect from the module
口 Educational Aims of the Module
The module aims to introduce concepts and principles of problem solving using the computer, and to discuss the construction of appropriate algorithms for problems solving. It also aims to demonstrate principles underlying the design of a high-level programming language, and give students experience and confidence in the use of a high-level programming language.
口 Learning Outcomes
On successful completion of this module, students are expected to:
口 [A] understand the principles and practice of object-oriented analysis and the design in the construction of robust, maintainable programs which satisfy their specifications;
口 [B] be competent to design, write, compile, test, debug and execute straightforward programs using a high-level language;
口 [C] appreciate the principles of object-oriented programming;
口 [D] be aware of the need for a professional approach to design and the importance of good documentation to the finished programs.
口 Assessment Details
There are 3 coursework assignments worth 100% of the final module mark in total.
Coursework 1 – 15%
Coursework 1 is worth 15% and is a continuous assessment. This will be assessed in class in the form of checkpoints, with an online coding task each week, which will make up part of your final grade.
Coursework 2 – 15%
Coursework 2 is an in-class coding test for about two hours and will be scheduled for your lab time in week 11. But these will be confirmed during the semester . The same automatic code grader technology of Coursework 1 will be used here as well.
Coursework 3 – 70%
Coursework 3 is a programming task that you are expected to do in your own time. It will be issued in week 10 (approximately), with a submission date in week 13 (precise detail to be given in class). Submission will be through online dropbox on Learning Mall, with details provided later in the semester.
口 Methods of Learning and Teaching
Students will be expected to attend two hours of formal lectures as well as to participate in two hours of supervised labs in a computer lab in a typical week. Students will need
more than these two hours to complete the Lab tasks; they will need to practice coding in their own time. Lectures will introduce students to the content and practical skills, which are the subject of the module, while computer labs will allow students to practice those skills.
In addition, students will be expected to devote time to solve continuous assessment tasks and private study. Homework sheets will be given out most weeks for the students to complete in their own time, and there will be online programming exercises on Learning Mall to be completed.
Private study will also provide time for reflection and consideration of lecture material and background reading. Continuous assessment will be used to test to what extent practical skills have been learned.
口 Syllabus & Teaching Plan
Throughout this syllabus, the conceptual aspects of problem-solving, algorithm design and the nature of data are expressed alternately with the more specific and implementation-directed aspects of programming and the importance of a reliable, robust and maintainable solution. It is expected that, in teaching the module, the lecturer will further integrate and intermingle these vital topics with the technical aspects of the syllabus. Topics are listed below:
Week 1
Bits & Bytes
What is Java?
Data
Variables
A simple Java program
Week 2 – Data Types
Data types
Scanner/Strings
Arithmetic and logic operations
Coding Style
Cast and convert
Week 3 – Flow Control and While Loops
Boolean (and operators)
Branching – if – else – else if
|
While loops |
Week |
4 – Arrays and For loops |
|
Arrays |
|
Array Processing |
|
For Loops |
Week |
5 – Strings and Methods |
|
String manipulation |
|
Methods |
Week |
6 – Objects |
|
Classes and Objects |
|
Person (data object) |
|
Object methods |
Week |
7 – Objects and Inheritance |
|
Inheritance |
|
Overriding |
|
Static |
|
Comparable method |
Week |
8 – No classes scheduled |
Week |
9 |
|
Exceptions |
|
User Interfaces (switch, methods, exceptions) |
Week |
10 |
|
Graphics |
|
File IO |
Week |
11 |
|
OOP principles |
|
UML and documentation |
Week |
12 |
|
Collections: data structures |
|
ArrayLists |
|
ArrayLists with file reading |
|
Java.Time |
Week 13
Recursion
Week 14
Review and Revise
口 Reading Materials
Mandatory (Essential) Textbook: None
Optional Textbooks:
Title |
Author |
ISBN/Publisher |
STARTING OUT WITH JAVA: FROM CONTROL STRUCTURES THROUGH OBJECTS PLUS MYPROGRAMMINGLAB WITH PEARSON ETEXT -- ACCESS CARD, |
TONY GADDIS |
978-0134802213 |
FOUNDATIONAL JAVA: KEY ELEMENTS AND PRACTICAL PROGRAMMING |
DAVID PARSONS |
978- 1447124788 |
INTRODUCTION TO JAVA PROGRAMMING, COMPREHENSIVE VERSION PLUS MYPROGRAMMINGLAB WITH PEARSON ETEXT -- ACCESS CARD, 9/E |
Y. DANIEL LIANG |
978-0133761313 |
2022-07-15