COURSE SYLLABUS NO.
25: INTRODUCTION TO
PROGRAMMING
1. GENERAL INFORMATION
Course name (Vietnamese): Nhập Môn Lập Trình
Course name (English): Introduction to Programming
Knowledge category: Major Foundation
Course type: Compulsory
Course Code: Course Id: 01200025
Responsible Unit: Faculty of Information Technology
Credits: 3 (3,0)
Time Allocation:
- Theory sessions: 45 periods
- Laboratory/Practical sessions: 0 periods
- Self-study hours: 90 hours
Prerequisites for Course Enrollment:
- Prerequisite courses: None
- Prior courses: Information Technology Application Skills
- Concurrent courses: Practice Introduction to Programming
2. LECTURER INFORMATION
No. Full Name Email Affiliated Unit
194 Nguyễn Thị Bích nganntb@[Link] Faculty of Information
Ngân Technology / Software
Engineering
195 Vũ Văn Vinh vinhvv@[Link] Faculty of Information
Technology / Software
Engineering
196 Lâm Thị Họa Mi milth@[Link] Faculty of Information
Technology / Software
Engineering
3. COURSE DESCRIPTION
The Introduction to Programming course provides students with fundamental knowledge
and skills in structured programming using the C/C++ programming languages. It gradually helps
students develop computational thinking and enables them to design algorithms and implement
programs to solve common and basic problems. At the same time, it lays the foundation of
programming knowledge, allowing students to acquire the necessary background to pursue more
advanced programming courses in the curriculum.
4. COURSE OBJECTIVES
Objective Objective Description [2] Program Competency
[1] Learning Level [4]
Outcomes [3]
G1 Describe how data is represented on a computer, PLO1.2 2
basic arithmetic operations, and basic logic.
G2 Apply C/C++ programming language in the MS PLO3.2 3
Visual Studio environment.
G3 Apply academic knowledge to solve problems PLO6.2 2
using a system-oriented approach by
implementing flowcharts and algorithms.
G4 Demonstrate awareness in identifying and PLO12.1 3
resolving problems in programming tasks, along
with a diligent, disciplined, and detail-oriented
work ethic. Form a professional programming
style.
5. COURSE LEARNING OUTCOMES
The detailed course learning outcomes (CLOs) are as follows:
Course Course Description of Learning Outcome [3] Competency
Objective [1] Learning Level [4]
Outcome
(CLO) [2]
Use natural language, flowcharts, and 2
CLO1.1 pseudocode to construct algorithms for
common problems.
G1
Understand and distinguish between basic 2
CLO1.2
data types in the C programming language.
Understand and distinguish the working 3
mechanisms of control structures: sequence,
CLO2.1
branching, looping; arrays, strings, and
structured types.
G2
Understand the meaning, functions, working 3
CLO2.2 mechanisms, and syntax of functions and use
them to write programs in MS Visual Studio.
Analyze simple, common problems: identify 3
CLO3.1 inputs, outputs, describe algorithms using
pseudocode and flowcharts.
Apply basic data types, constants, arithmetic 3
operations, control structures, and abstract
G3
CLO3.2 data types (such as arrays) in C/C++ to solve
simple and common computational
problems.
Apply functions to organize a program into 3
CLO3.3
modules that can be reused multiple times.
Develop an interest in programming, enjoy 3
exploring algorithms and solving informatics
CLO4.1
problems; appreciate the value of
informatics in modern life.
G4 Form awareness in identifying and solving 3
CLO4.2
problems in computational problem-solving.
Demonstrate a diligent, disciplined, and 3
CLO4.3 detail-oriented working attitude. Establish a
professional programming style.
6. COURSE CONTENT
6.1. General Time Allocation
No. Chapter/Topic Name [2] Course Time Allocation (Periods/Hours) [4]
[1] Learning
Outcomes Total Lecture Laboratory/P Self-
(CLOs) [3] time ractice study
CLO1.1,
CLO4.1,
75 Overview of Programming 3 3 0 6
CLO4.2,
CLO4.3
CLO1.2,
CLO2.1,
Basic Components of the
CLO2.2,
76 C/C++ Programming 6 6 0 12
CLO4.1,
Language
CLO4.2,
CLO4.3
CLO3.1,
CLO4.1,
77 Program Control Structures 9 9 0 18
CLO4.2,
CLO4.3
CLO3.2,
CLO3.3,
78 Functions CLO4.1, 6 6 0 12
CLO4.2,
CLO4.3
CLO2.1,
Array, String, and Pointer CLO4.1,
79 15 15 0 30
Data CLO4.2,
CLO4.3
CLO3.2,
CLO4.1,
80 Structured Data 6 6 0 12
CLO4.2,
CLO4.3
Total 45 45 0 90
6.2. Detailed Course Content
Chapter 1. Introduction to Programming
1.1. Basic Concepts of Programming
1.1.1. Program
1.1.2. Machine Code Program
1.1.3. Programming Language
1.1.4. Compiler
1.2. Overview of the C/C++ Programming Language
1.2.1. Introduction
1.2.2. Characteristics
1.2.3. C/C++ Programming Environment
1.2.4. Writing, Compiling, and Running a C/C++ Program
1.3. Introduction to Algorithms
1.3.1. Concepts of Problem and Algorithm
1.3.2. Characteristics of Algorithms
1.3.3. Algorithm Description
Chapter 2. Basic Components of the C/C++ Programming Language
2.1. Keywords and Identifiers
2.1.1. Keywords
2.1.2. Identifiers
2.2. Data Types
2.3. Operators
2.3.1. Arithmetic Operators
2.3.2. Bitwise Operators
2.3.3. Relational Operators
2.3.4. Logical Operators
2.3.5. Other Operators
2.4. Variables and Constants
2.5. Statements and Code Blocks
2.6. Comments
2.7. Input and Output
2.8. Built-in Function Libraries in C/C++
Chapter 3. Control Structures in Programming
3.1. Conditional Structures
3.1.1. if Statement
3.1.2. switch ... case Statement
3.2. Loop Structures
3.2.1. for Loop
3.2.2. while Loop
3.2.3. do ... while Loop
3.2.4. break and continue Statements
Chapter 4. Functions
4.1. Introduction to Functions in C/C++
4.2. Function Construction
4.3. Variable Scope
4.4. Function Parameters and Function Calls
4.5. Recursive Functions
Chapter 5. Array, String, and Pointer Data
5.1. General Introduction
5.2. One-Dimensional Arrays
5.2.1. Declaration and Memory Allocation
5.2.2. Initializing Values in One-Dimensional Arrays
5.2.3. Input and Output of One-Dimensional Arrays
5.2.4. Some Basic Problems with One-Dimensional Arrays
5.2.5. Searching for Elements in Arrays
5.2.6. Sorting Elements in Arrays
5.3. Two-Dimensional Arrays
5.3.1. Declaration and Memory Allocation
5.3.2. Initializing Values in Two-Dimensional Arrays
5.3.3. Input and Output of Two-Dimensional Arrays
5.3.4. Some Basic Problems with Two-Dimensional Arrays
5.4. Strings
5.4.1. Concept of Character Strings
5.4.2. Declaration and Initialization
5.4.3. Some Common String Manipulation Functions
5.5. Pointers
5.5.1. Concept of Pointer Variables
5.5.2. Assigning Pointers and Memory Allocation
5.5.3. Manipulating Pointer Variables
5.5.4. Pointers and One-Dimensional Arrays
Chapter 6. Structured Data
6.1. Concept of Structured Data
6.2. Declaration of Structured Data
6.3. Initialization and Accessing Members of Structured Data
7. COURSE ASSESSMENT
– Grading scale: 10/10
– The specific course assessment plan is as follows:
Assessment Method Timing Course Learning Weight Rubric
Outcomes (CLOs) (%)
Formative Assessment 30
Throughout
Attendance CLO4.1, CLO4.3 10 1.1
the course
Grading
CLO1, CLO2, CLO3, criteria
Midterm Test: 75 minutes Week 14 20
CLO4 based on
answer key
Final Exam 70
Content covering all chapters of
the course:
- Chapters 3 & 4: 30% of
the questions
- Chapter 5:
+ Array section: 20% According
Grading
of the questions to
CLO1, CLO2, CLO3, criteria
+ String and pointer academic 70
CLO4 based on
calendar
section: 10% of the answer key
schedule
questions
+ Two-dimensional
array section: 25% of
the questions
- Chapter 6: 15% of the
questions
8. LEARNING MATERIALS
8.1. Main Textbook
[1] Nguyễn Thị Bích Ngân, Dương Thị Mộng Thùy, Introduction to Programming textbook, Faculty
of Information Technology, Ho Chi Minh City University of Food Industry.
8.2. Reference Materials
[1] Faculty of Information Technology, Lecture Slides for Introduction to Programming, Ho Chi Minh
City University of Food Industry, 2017.
[2] Trần Đan Thư, Nguyễn Thanh Phương, Đinh Bá Tiến, Trần Minh Triết, Introduction to
Programming, Science and Technology Publishing House, 2011.
[3] Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, Prentice Hall, 1998.
[4] Bruce Eckel, Thinking in C, E-book, 2006.
[5] Bradley L. Jones, Peter Aitken, Teach Yourself C in 21 Days, SAMS, 1995.
[6] Jesse Liberty, Bradley L. Jones, Teach Yourself C++ in 21 Days, SAMS, 2004.
8.3. Software
[1] Microsoft Visual Studio 2012
9. COURSE REGULATIONS
Compliance with the regulations regarding class attendance, classroom behavior, academic
responsibilities, and self-study as specified in Section III of Regulation No. 01/QĐ-[Link] issued by
the Faculty of Information Technology on March 20, 2020, regarding “GENERAL REGULATIONS
OF THE FACULTY OF INFORMATION TECHNOLOGY IN IMPLEMENTING THE IT AND
INFORMATION SECURITY TRAINING PROGRAM IN 2020.”
10. IMPLEMENTATION GUIDELINES
– Scope of application: This syllabus is applied to the undergraduate training program for the majors
of Information Technology and Information Security, cohort 11DH;
– Lecturers: Use this general course syllabus as a basis for preparing detailed course syllabi for
teaching, designing exams, and assessments;
– Students: Use this general course syllabus as a reference to understand course-related information,
identify learning contents, and proactively plan appropriate learning strategies to achieve the desired
outcomes;
– The general course syllabus is issued together with the training program and published along with
relevant regulations.