CS2360 Java Programming

Part I

Course Duration: One semester

Credit Units: 3

Level: B2

Medium of Instruction: English

Pre-requisites: Nil

Pre-cursors: Nil

Equivalent Courses:
CS2362 Computer Programming for Engineers and Scientists
CS2363 Computer Programming

Exclusive Courses:
CS2362 Computer Programming for Engineers and Scientists

CS2363 Computer Programming

Part II

Course Aims:
This course is an introductory first course on the concepts and techniques of computer programming and problem solving using Java.  No previous programming experience is required. The main objective is to equip students with basic concepts in object-oriented computer programming and techniques in problem solving.  Students will learn basic software development process and good programming practices for program construction, documentation, testing, and debugging.

Course Intended Learning Outcomes (CILOs)
(state what the student is expected to be able to do at the end of the course according to a given standard of performance)

Upon successful completion of this course, students should be able to: 

No.CILOsWeighting (if applicable)
1.Create programs to solve simple problems;  
2.Design and create classes to sub-divide problem into a solution;  
3.Use selection, repetition and recursion for problem solving;  
4.Use arrays, class libraries and dynamic structures to store and work with data;  
5.Follow good programming practices.  

Teaching and Learning Activities (TLAs)
(designed to facilitate students' achievement of the CILOs)

Teaching pattern:
Suggested lecture/tutorial/laboratory mix: 2 hrs. lecture; 1 hr. tutorial
 
ILO NoTLAsHours/week (if applicable)
CILO 1-5

Tutorial Exercises – Tutorials are designed to enable students to put theory into practice and be proficient in Java. The tutorial exercises consist of programming problems that students should solve within the tutorial period. Students will acquire knowledge of software development process, environments and tools.
 

 

CILO 1-5

Assignments – Assignments are intended to be more challenging problems compared with tutorial exercises.  Students are to analyze the problems, break them down into manageable sub-problems, and apply (and possibly combine) various techniques learnt from lectures and tutorial exercises in order to design algorithms for solving them.  Then they are required to implement the algorithms as computer programs, and to explain their ideas/algorithms using suitable presentation methods (e.g., a report, flowchart, etc).
 

 

CILO 1-5

Quizzes – Quizzes give a chance for students to reflect on their understanding on various programming concepts and problem solving techniques.
 

 
 
Assessment Tasks/Activities
(designed to assess how well the students achieve the CILOs)
 
ILO NoType of assessment tasks/activitiesWeighting(if applicable)Remarks
CILO 1 

Create programs to solve simple problems.          Coursework: Students are required to analyze problems in the assignments and come up with workable computer programs for their solutions.  Both the program correctness and the explanation of their programs/ideas will be a measure for this ILO.
Exams: Final and/or mid-term exams will include questions to assess the students’ ability to analyze simple problems and devise syntactically and semantically correct computer programs (or program fragments) for their solutions. The quality of the program will be a measure for this ILO.
 

 

 

CILO 2

Design and create classes to sub-divide problem into a solution.
Coursework: Students are required to design classes and implement them to solve problems in the tutorial exercises and assignments.  Their ability to produce simple and elegant designs will be indications of their achievement in this ILO.
Exams: Final and/or mid-term exams will include questions on students' ability to use appropriate class designs and implementations when solving problems.
 

 

 

CILO 3

Use selection, repetition and recursion for problem solving.
Coursework: When tackling the tutorial exercises and assignments, the students will need to show that they can apply appropriate problem solving techniques to come up with a program solution.
Exams: Final and/or mid-term exams will also include questions to assess the students’ ability to apply these techniques appropriately to solve problems.
 

 

 

CILO 4

Use arrays, class libraries and dynamic structures to store and work with data.
Coursework: Tutorial exercises and assignments will require the students to use appropriate storage structures, such as arrays.
Exams: Final and/or mid-term exams will include questions to assess the students’ ability to select, apply and use these tools to work with data in solving problems.
 

 

 


CILO 5

Follow good programming practices.
Coursework: The structure and readability of the students' computer programs and their reports (for assignments) will be an indication of whether they practise good programming discipline.  Students will be required to use appropriate coding styles as well as document their programs.  Test cases should also be created.  This ILO is mostly assessed during coursework and quizzes.
 

  

Grading of Student Achievement:
Refer to Grading of Courses in the Academic Regulations (Attachment) and to the Explanatory Notes.

Coursework     :  50%
Examination     :  50% (2 hours)
Grading pattern:  Standard (A+AA-…F)

For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.

Part III

Keyword Syllabus:

Problem solving techniques and algorithm development; software development process, environment and tools; elements of coding styles; basic data types and declarations; basic object-orientation, such as classes, inheritance and polymorphism; expressions; assignment; basic I/O operations and control structures; functions and procedures; parameter passing; block structure; scope of variables; structured data types; arrays; lists; files and advanced I/O; levels of abstraction; concept of data hiding; abstract data types and structures; iteration, and recursion; basic flow-charting and/or simple UML diagrams.

Related Links
Department of Computer Science