CS2362 Computer Programming for Engineers & Scientists

Course Duration: 1 Semester
 
Credit Units:

Level: B2

Medium of Instruction: English

Prerequisites: Nil 
                                                
Precursors: Nil

Equivalent Courses:
CS2360 Java Programming
CS2363 Computer Programming

Exclusive Courses:
CS2360 Java Programming
CS2363 Computer Programming

Course Aims:
This course aims to introduce the concepts and techniques of problem solving, using a high-level programming language as a tool. Students will be able to analyze simple problems, work out a solution, and then implement the solution using structured computer programs.  When developing programs, it is important to observe the effectiveness of basic data structures, as well as good programming discipline.

Course Intended Learning Outcomes (CILOs):  
Upon successful completion of this course, students should be able to:

No.

CILOs

Priority level

1.

analyze simple problems and derive solutions, providing a logical flow of instructions;

1 (core)

2.

use and construct functions for structured computer programs with a focus on modularity and utilization of resources;

3 (advance)

3.

demonstrate competency in the use of basic data structures in program writing;

3 (advance)

4.

identify and correct different types of programming errors, including data validation;

2 (essential)

5.

demonstrate competency in program testing and debugging;

2 (essential)

6.

demonstrate good programming discipline in terms of program structure and comprehensibility.

2 (essential)

(Priority level 1: highest priority)

Teaching and learning Activities (TLAs):
(Indicative of likely activities and tasks students will undertake to learn in this course. Final details will be provided to students in their first week of attendance in this course)

This course is a foundation course on computer programming.  Teaching material is based on C language, and no prior programming background is required.  Knowing that computer programming can only be learnt through practice, the design of teaching and learning activities aims to provide such an environment to encourage students to practice and improve their programming skills.
Based on the Course ILOs, the teaching/learning activities of this course may include:
Lectures and resources. All CILOs will be introduced, explained, and demonstrated through lectures.  Supplementary resources will be made available for out-of-classroom learning.  Taylor-made on-line checking tool will provide students with instant feedback on the correctness of their programming exercises.
Tutorials.  Students will practice problems with designed programs, helping them to gear up their skills in all CILOs.
Short quizzes during the semester will check students’ achievement of the learning outcomes.  This will provide timely feedback on learning progress.
Individual programming assignment will serve as a learning and assessment tool on various CILOs.

Correlation between CILOs and TLAs:

CILO No.

Lectures and resources

Tutorials

Short quizzes

Individual programming assignment

1 (analyze problem and derive solution)

2

2

2

2

2 (function construction)

2

2

1

2

3 (use of data structure)

2

2

1

2

4 (Programming errors and data validation)

1

2

1

1

5 (programming testing / debugging)

1

2

1

1

6 (programming discipline – program structure and comprehensibility)

1

2

 

2

(1: Minor focus on the ILO; 2: Main focus on the ILO)

Assessment Tasks/Activities:
(Indicative of likely activities and tasks students will undertake to learn in this course. Final details will be provided to students in their first week of attendance in this course)

Coursework: 30%

tutorial / bonus is a 10% bonus on top of the coursework component for good performance in CILOs during the semester.

Examination: 70%

1.duration: 2 hours, at the end of the semester
2.student must obtain at least 30% from the examination to pass the course
3.student must obtain at least a total of 30% from CILO #1 to pass the course

Based on the Course ILOs, the assessment criteria, assessment tasks / activities of this course may include:

CILO No.

Assessment criteria

Assessment tasks / activities

1 (analyze problem and derive solution)

Effectively applies problem solving skills to analyze the given problem.

Effectively applies appropriate programming skills to construct a correct and meaningful programming solution which matches with the expected behaviour.

Articulates a convincing rationale for strategies used to derive the programming solution.

Short quizzes, individual assignments, examination

2 (function construction)

Accurately analyze modularity of functions within the programming context.

Effectively decompose problem into sub-problems.

Effectively applies library functions and constructs meaningful user defined functions when deriving programming solutions.

Short quizzes, individual assignments, examination

3 (use of data structure)

Effectively applies appropriate data types and data structure when deriving programming solutions. 

 

Short quizzes, individual assignments, examination

4 (programming errors and data validation)

Accurately identifies and corrects programming errors.

Articulates with sound evidence on the process of identification and correction of programming errors in the written program.

Articulates with sound evidence on data validation performed in the written program.

Short quizzes, individual assignments, examination

5 (programming testing / debugging)

Ability to construct meaningful test cases for normal and abnormal situations.

Articulates with sound evidence on the construction of meaningful test cases for normal and abnormal situations

Short quizzes, individual assignments, examination

6 (programming discipline – program structure and comprehensibility)

Demonstrate the ability to create comprehensible, well-documented, and well structured program.

Individual assignments

Grading of Student Achievement: 

Grading pattern:
Standard (A+, A, A-...F).  Grading is based on student performance in assessment tasks/activities.  
Sample grading distribution:

ILO No.

Short quizzes

Individual assignments

Tutorial / Bonus

Exam

Total for course

1 (analyze problem and derive solution)

8%

7%

0.5%

35%

50%

2 (function construction)

3%

3%

0.5%

10%

16%

3 (use of data structure)

2%

2%

0.5%

10%

14%

4 (programming errors and data validation)

1%

1%

0.5%

7%

9%

5 (programming testing / debugging)

1%

1%

0.5%

8%

10%

6 (programming discipline – program structure and comprehensibility)

 

1%

0.5%

 

1%

AT total

15%

15%

3%

70%

100%

Keyword Syllabus:

Problem solving and formulating simple algorithm.  The software development process and development environment.  Programming in a high-level procedural language (such as C): basic data types and structures; control structures; functions; pointers; input and output.  Elements of programming style.

 

 

 

 

 

Related Links
Department of Computer Science