|
CS1301 Introduction to Computer Programming
Part I
Course Duration: One Semester
Credit Units: 3
Level: B1
Medium of Instruction: English
Pre-requisites: Nil
Pre-cursors: Nil
Equivalent Courses: Nil Exclusive Courses: Nil
Part II
Course Aims:
The aim of this course is to teach fundamental programming concepts and practical skills to students who might not necessarily have prior programming or computing experience.
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. | CILOs | Weighting(if applicable) | | 1. | explain how data and program are represented in a computer system and the typical software development lifecycle; | | | 2. | analyze a task/problem and determine its software requirements; | | | 3. | design a software program to satisfy requirements; | | | 4. | code a program using a high-level computer language and coding best practices; | | | 5. | test and debug simple programs; | | | 6. | use appropriate developer tools and/or network/system software to support programming. | |
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
This course will introduce basic programming concepts and skills to students. The teaching will start from basic programming knowledge and techniques, and then go into depths step by step. Students will progressively learn to solve simple problems by writing programs with various skills. For each topic, the teacher will introduce the underlying concepts and background knowledge, along with illustrative examples and laboratory exercises. In addition, more challenging problems will be included as assignments to strengthen students’ own problem analysis and programming techniques. Through these teaching/learning activities, students will become more familiar with the concepts and skills.
Based on the Course ILOs, the teaching/learning activities of this course may include: ILO No | TLAs | Hours/week(if applicable) | | CILO 1toCILO 6 | Laboratory Sessions - The laboratory exercises are mainly programming problems. Students are guided to analyze and solve them by programming. In addition, they will gain experiences on testing and debugging that will in turn help them to visualize the execution of programs, and improve their problem solving and programming skills. This course activity supports ILO#1 - 6. | | | CILO 1toCILO 6 | Assignments - The assignments will include more challenging problems compared with laboratory exercises. Students need to analyse the problems and solve them by programming individually. The teacher will provide appropriate guidance and suggestions to their solutions. Through doing the assignments, students will become more familiar with the concepts and skills. This course activity supports ILO#1 - 6. | |
Assessment Tasks/Activities: (designed to assess how well the students achieve the CILOs
The course ILOs are assessed through coursework (assignments and tests) and examination: ILO No | Type of assessment tasks/activities | Weighting (if applicable) | Remarks | | CILO 1 | Explain how data and program are represented in a computer system and the typical software development lifecycle.Coursework - In programming assignments, each student needs to create a workable computer program to solve the problem, as well as to write a report that explains the design and testing of the program. The correctness of data handling and program coding, and the quality of the submissions will be used to access this ILO. Related questions may also be included in the tests.Examination - Final exam will include questions to assess students’ ability to explain data and program representations as well as the typical software development lifecycle. | | | | CILO 2 | Analyze a task/problem and determine its software requirements.Coursework - In programming assignments, each student’ ability to design the detailed solution will be an indication of their achievement in this ILO. Related questions may also be included in the tests.Examination - Final exam will include questions to assess this ILO. | | | | CILO 3 | Design a software program to satisfy requirements.Coursework - In programming assignments, each student’s ability to produce a workable program will be an indication of their achievement in this ILO. Related questions may also be included in the tests.Examination - Final exam will include questions to assess this ILO. | | |
CILO 4 | Code a program using a high-level computer language and coding best practices.Coursework - The logic, structure and readability of the student’s programs (for assignments) will be used to access this ILO. Related questions may also be included in the tests.Examination - Final exam will include questions to assess this ILO. | | | | CILO 5 | Test and debug simple programs.Coursework - The correctness of the students’ programs (for assignments) and the quality of their reports will be used to access this ILO. Related questions may also be included in the tests.Examination - Final exam will include questions to assess this ILO. | | | | CILO 6 | Use appropriate developer tools and/or network/system software to support programming.Coursework - The programming assignments will be used to access this ILO. | | |
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.: 30% CW; 70% Exam 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:
Basic data types, integers, Boolean; operations, expressions; character, string; composite data types, array; variables; data objects; Fundamental programming concepts and programming constructs, program statements, execution model; assignment, sequence, compound statements, conditional and iterative control structures; functions and parameters; structured decomposition, recursion; basic algorithmic complexity; Virtual machines and system software, machine language, language processors, compilers, interpreters;
Introduction to object-oriented programming, abstraction; objects; classes; methods; parameter passing; encapsulation;
I/O and GUI programming, basic I/O, mouse events, basic graphics.
Related Links
Department of Computer Science
|