CC 101 – INTRODUCTION TO COMPUTING
First Semester, SY 2023 - 2024
I. Course Description: This course provides a comprehensive introduction to the fundamental concepts of
computing, including hardware, software, programming, and problem-solving strategies.
Students will gain practical skills in programming, algorithm design, and debugging,
enabling them to understand the core components of computing systems and how they
work together.
II. Course Objectives:
By the conclusion of this course, students will be capable of:
1. Describe the basic components of computing systems and their roles.
2. Explain the principles of programming and algorithmic problem-solving.
3. Demonstrate an understanding of data representation in various formats.
4. Utilize a programming language to write and debug simple programs.
5. Apply logical thinking and algorithmic approach to solve computational
problems.
III. Course Outline and Time Frame
Week Topic
1 Aldersgate College vision & mission, core values, institutional goals & objectives
Program vision & mission, educational objectives & program outcomes
Course description & outcomes, course outline
2 Introduction to Computing Systems
Topic 1: Computer Hardware and Software
Understanding the components of a computer system: CPU, memory, storage,
input/output devices.
Differentiating between system software and application software.
Topic 2: The Role of Operating Systems
Exploring the functions of operating systems in managing hardware and software
resources.
Overview of multitasking, memory management, file systems, and user interfaces.
3 Introduction to Programming Concepts
Topic 1: Programming Fundamentals
Defining programming and its importance in creating software applications.
Understanding the process of writing, compiling, and executing code.
Topic 2: Programming Languages and Paradigms
Exploring programming languages such as Python, Java, and C++.
Introduction to procedural, object-oriented, and functional programming paradigms.
4 Basic Algorithm Design and Pseudocode
Topic 1: Algorithm Basics
Defining algorithms and their role in solving computational problems.
Understanding the characteristics of good algorithms: correctness, efficiency, and
clarity.
Topic 2: Pseudocode and Flowcharts
Using pseudocode as a tool to design and communicate algorithms.
Creating flowcharts to visually represent algorithmic processes.
5 Clustering Techniques
Topic 1: Binary, Decimal, and Hexadecimal Systems
Understanding binary, decimal, and hexadecimal number representations.
Converting between different number systems.
Topic 2: Binary Arithmetic
Performing basic arithmetic operations (addition, subtraction, multiplication,
division) in binary.
6 Text and Image Representation in Computers
Topic 1: Text Encoding
Introduction to character encoding standards like ASCII and Unicode.
Understanding the representation of text characters in binary.
Topic 2: Image Representation
Exploring bitmap and vector image formats.
Understanding pixel representation and color models.
7 Programming Syntax and Semantics
Topic 1: Syntax Rules
Learning the syntax rules that govern programming languages.
Understanding the importance of proper syntax in writing code.
Topic 2: Semantics and Logic
Exploring the meaning of programming statements and expressions.
Identifying logical errors and semantic mistakes in code.
8 Real-world Applications
Topic 1: Variables and Data Types
Defining variables and their role in storing data.
Exploring different data types: integers, floating-point numbers, strings, etc.
Topic 2: Control Structures
Understanding control flow statements: if, else, while, for.
Using control structures to create decision-making and looping constructs.
9 Problem-Solving Strategies
Topic 1: Decomposition and Abstraction
Breaking down complex problems into smaller, manageable sub-problems.
Identifying reusable components and patterns in problem-solving.
Topic 2: Algorithm Design Patterns
Introduction to common algorithm design techniques: greedy, divide and conquer,
dynamic programming.
Applying design patterns to various problem domains.
Debugging and Troubleshooting Techniques
Topic 1: Debugging Basics
Understanding the debugging process and the importance of thorough testing.
Strategies for isolating and identifying errors in code.
Topic 2: Error Handling and Exception Handling
Implementing error-handling mechanisms to gracefully handle unexpected
situations.
Using try-catch blocks to manage exceptions and errors.
IV. Required Reading
V. Suggested Readings and References
VI. Grading System
1. Averaging-cumulative
2. Components
Quizzes (AQ) 20%
Periodic Examinations (PE) 30%
Requirements (Req) 50%
Total 100%
3. Computation
AQ+ PE+ REQ
Prelim Grade( PG)=
3
( AQ+ PE+ REQ ) 2+ PG
Midterm Grade ( MG )=
3
( AQ+ PE+ REQ ) 2+ MG
Final Grade ( FG ) =
3
VII. Classroom Policies
VIII. Consultation Hours: