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

[email protected]

SD545

Thursday

14:00- 16:00

Ping Zhang

[email protected]

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