CS3306 Contemporary Programming Methods in Java

Part I

Course Duration:
One Semester

Credit Units: 3

Level: B3

Medium of Instruction: English

Pre-requisites: Nil

Pre-cursors:
CS2331 Problem Solving and Programming

Equivalent Courses: Nil

Exclusive Courses: Nil

Part II

1.     Course Aims:

This course aims to provide knowledge and practice on the state-of-the-art programming paradigm of applications development.  Student will come to understand the contemporary programming methods used in developing present-day applications, particularly in object-oriented and Graphical User Interface programming.  Upon successful completion of this course, students should be able to apply different programming methods in software application development.

2.      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.Identify and describe the programming paradigms and techniques used in developing modern applications.  20
2.Apply the programming methods in developing useful applications.25
3. Adapt the implementations of algorithms for conventional programming languages to the the programming paradigms and develop programs using new programming techniques.25
4.Provide quality comparison on different programming paradigms and techniques, and clearly identify their pros and cons.  15
5.
Justify the application of different programming paradigms and techniques in various scenarios and propose enhancements if applicable.  
15

3.      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.
 
TLARemarksILOs to be addressed
ReadingsSelected chapters from textbook or reference books on the topics to be taught will be stated before each lecture.  It helps students understand the lecture and stimulate questions on time.1-5
LecturesConcepts and general knowledge of selected programming paradigms and techniques are explained and illustrated. 1-5
TutorialsDesigned case studies or questions are discussed with students so that the taught material could be recalled and applied.1-5
Lab sessionsProvide students with opportunities to practise the programming paradigms and techniques taught in the lectures.  Students will appreciate the benefits of the modern programming techniques through the exercises.    2-3

 
QuizA mid-term quiz will be held to track the students’ understanding of the materials covered in the course. This is also an opportunity to provide timely feedback to the students about their learning progresses.1-4
AssignmentsA programming assignment is designed to examine the students’ ability in applying the programming paradigms and techniques they have learnt in software application development.  1-5

4.      Assessment Tasks/Activities:
(designed to assess how well the students achieve the CILOs)
 
ILO NoType of assessment tasks/activitiesRemarks
CILO 1Quiz/Survey/Assignments/ExaminationClarity and correctness in describing and identifying the comtemporary programming paradigms and techniques will be the measurement of this CILO 
CILO 2Quiz/Assignments/ExaminationThe degree of systematic application of the programming paradigms and techniques in software application development will be the measurement of this CILO. 
CILO 3Quiz/Assignments/ExaminationStudents are expected to re-implement the existing algorithms under the taught programming paradigms or apply new programming techniques to enhance an existing program.  The correctness and efficiency of the implementation will be the measurement of this CILO 
CILO 4Quiz/Assignments/ExaminationAbility in providing an appropriate and thoughtful comparison of different programming paradigms/techniques will be the measurement of this CILO. 
CILO 5Quiz/Assignments/ExaminationThe ability of students in providing reasonable and comprehensive analysis on the applications of programming techniques / paradigms in  given scenarios will be one of the measurements of this CILO.  Other measurements include providing  clear explanation and justification on how these techniques/paradigms improve the program efficiency and reliability..   
 
5.      Grading of Student Achievement: Refer to Grading of Courses in the Academic Regulations (Attachment) and to the Explanatory Notes.

Examination duration: 2 hours
Percentage of coursework, examination, etc.: 40% CW; 60% Exam
Grading pattern: Standard (A+AA-…F)
For a student to pass the course, at least 30% of the maximum mark of the examination must be obtained.

Part III

Keyword Syllabus:

Object-oriented programming: Encapsulation, inheritance, polymorphism, Interface, Packages. Event-driven programming: Event handler, Thread-safety.  Graphic User Interface programming: GUI components. Layout management.  Algorithm development.  Abstract data types. Document/view architecture.  MVC.  MFC.  Dot-NET.  Java.

Related Links
Department of Computer Science