Course Description:
The fundamental aim of this course is to teach students the basics of computing in a relative term. Students, in this course, will learn the fundamentals of computing including computer basics and organization, common tools and applications, data representations, algorithms and programming. The focus of the course is to develop a good understanding of computing and a basic knowledge about how computers are programmed.

Course Learning Outcomes:
CLO:1 Identify the components of a computer system and describe the basic knowledge of commonly used computer applications such as Word, Excel, PowerPoint and Visio.
CLO:2 Explain the basics of computer organization including memory and storage elements, and recognize data representation in terms of number systems.
CLO:3 Apply problem-solving skills through the use of flow charts and algorithms and develop small scale computer programs.

Course Contents (Theory):
1. Introduction to Computers – Four Lectures
• History
• Components of a Computer
• Types of a Computer
• Common Tools and Applications

2. Introduction to Office Suite- Four Lectures
• Creating a Word Document
o Text, Tables, Charts, Diagrams, Headings, Help etc.
• Creating an Excel Worksheet
o Formatting, Charts, Formulae, Functions, Help etc.
• Creating a PowerPoint Presentation
o Formatting, Editing, Animation, Help etc.

3. Computer based Systems- Four Lectures
• Bits & Bytes Concepts
• Types of Memories and Storage Elements
• Internet and World Wide Web
• Types of Computer Networks (LAN, WAN, MAN)

4. Data Representation- Four Lectures
• Binary, Decimal and Hexadecimal Conversions
• Signed and Unsigned Numbers
• Number Representations and Ranges
• ASCII Codes
• Strings, Integers and Real Numbers

5. Basics of Computer Organization- Two Lectures
• Processor, Registers, Memory and ALU
• I/O
• Memory
a. Memory Management & Manipulation
b. Program vs. Data Memory
c. Stack vs. Queue

6. Programming Basics- Four Lectures
• Types of Programming Languages
• Programming Errors
• Program Execution Steps
• Compiler
a. Interpreter
b. Linker
c. Assembler

7. Algorithms & Problem Solving- Four Lectures
• Algorithms
a. Conditional Structures
b. Recursive Structures
• Flow Charts
• Pseudo Codes
• How to Approach Problem Solving

8. Introduction to C/C++ and Programming Environment – Six Lectures
• Data Types
o Variable Types
o Variable Scope (Local vs. Global Variables)
• Basic I / O, Constants, Variables, Arithmetic Operators , Escape Sequence
• Introduction to C++ Programming Environment
• Relational Operators, Logical Operators and Expressions
o Logical, Bitwise and Unary Operators
o Typecasting
o Precedence
• Commenting
• Conditional statements
• Repetition statements