FUNDAMENTAL CONCEPT PROGRAMMING
This course provides students with a solid foundation in computational thinking, problem-solving strategies, and the fundamentals of programming. Students will develop programming skills by learning basic concepts, control structures, functions, arrays, and pointers. Towards the end, the course will explore structured data and transform these skills into object-oriented programming principles, preparing students to write efficient and modular programs.
- Introduction to Computational Thinking
- Logical Thinking and Algorithm Thinking
- Defining Problems
- Decomposition, Patterns, and Generalization
- Problem-Solving Process
- Overview of Programming Paradigms
- Programming Process
- Procedural and Object-Oriented Programming
- Pseudo Codes and Flowcharts
- Algorithms and Flowcharts
- Data Types
- Operators
- Input and Output
- Selection Control Structures (if, switch)
- Repetition Control Structures (while, for, do-while)
- Predefined Functions
- User-Defined Functions
- Basics of Arrays
- Passing and Returning Arrays to/from Functions
Test (Chapters 1 – 5): 3rd December 2024, 5:00 PM – 7:00 PM
- File Operations: Reading from and Writing to Files
- Basics of Pointers
- Relationship between Arrays and Pointers
- Functions and Pointers
- Structured Data Types (e.g., structs)
- Enumerated Data Types (enums)
- Principles of Object-Oriented Programming (OOP)
- Class and Object Manipulation
- Association, Aggregation, and Composition
- Inheritance and Polymorphism
By the end of this course, students will be able to:
- Apply computational thinking to solve programming problems.
- Write structured programs using basic control structures and functions.
- Utilize arrays and pointers for efficient data manipulation.
- Develop programs that use file I/O operations.
- Apply object-oriented principles to transform structured solutions into modular, reusable code.
- Test (Chapters 1–5): 3rd December 2024 (5:00 PM – 7:00 PM)
- Additional assessments will be announced during the course.
- Attendance is mandatory for all sessions unless excused for valid reasons.
- Assignments must be submitted by the deadlines provided.
- Collaboration is encouraged, but plagiarism will result in disciplinary action.
- Introduction to Programming with C++ by Y. Daniel Liang
- Problem Solving and Program Design in C by Jeri R. Hanly and Elliot B. Koffman
- C++ How to Program by Paul Deitel and Harvey Deitel
Lecturer: Dr. Muhammad Khatibsyarbini
Department: Software Engineering, Faculty of Computing, UTM JB
Email: [email protected]