You are on page 1of 7

Unity University

Course Number COSC1012

Course Title Basic Engineering Course: Computer Programming I

Degree Program BSc. In Computer Science

Credits/Contacts 4/5

Prerequisite No

Semester 2nd Semester / Year I

Status of Course Compulsory

Course Objectives and After s Successful completion of this course, students will be able
Competences to be to:
acquired
 Find out what computer science is about and explore its
applications and impact in other disciplines
 Explain how the computer understands words, numbers, and
how data and instructions are stored, retrieved and
processed
 Describe basic characteristics of components of a computer
system, Illustrate and analyze basics of Computer
architecture
 understand the nature of programming as human activity
 learn and experience main components of programming
process
 Analyze variety of problems and generate appropriate
algorithmic solutions
 learn and being able to use major programming patterns
 understand the principles of data storage and manipulation
 Write a program that uses each of the following fundamental
programming constructs: Basic syntax and semantics of a
high-level languages, Basic elements of programming:
identifiers, variables, literals, constants, keywords,
comments, data types, expressions and operators,
statements, Control Structures, looping and Arrays.

Course Description This course is assumed to be the first course in programming. The
course is designed to introduce an overview of Computer Science;
historical development of computers; logical organization of a
computer system; software, data representation inside computers
and Structured Programming in C++ by providing an overview of
programming concepts, on creating and working computer
programs in C++. It introduces the history of programming
languages and programming language paradigm. The course mainly
emphasizes on basic components of a high level language and
developing a skill on the usage of those components. It will address
the fundamental programming constructs: Basic syntax and
semantics of a high-level languages, Basic elements of
programming: identifiers, variables, literals, constants, keywords,
comments, data types, expressions and operators, statements,
Control Structures, Arrays, and structured data types.

Course Contents
1. Overview of Computer Science
1.1. Introduction to Information and Communication
Technology
1.2. Definition of Computer and Computer Science
1.3. Characteristics of computers
- Speed, accuracy, capacity, versatility, durability and
reliability

1.4. Types of computers


- Analog, digital, special purpose, general purpose
- Super computers, mainframe computers, minicomputers,
microcomputers (desktop, laptop or notebook, PDA or
palmtop, handheld)

1.5. Applications of computers (2 hours)


- Learning aid

- Entertainment

- Commercial and business applications

- Information utility

- Engineering and research applications

- Public service

1.6. Development of computers


- History of computing
- Abacus
- Pascal’s Calculator
- The difference engine and the analytical engine
- Herman Hollerith’s tabulating machine
- Mark I
- ENIAC - Electronic Numerical Integrator And
Computer
- The Von Neumann Machine
- Commercial computers
1.7. Generations of computers
- First, second, third, fourth and fifth generations
- Current Trends
2. Organization of a computer system
2.1. Introduction to Computer Systems
2.2. Computer hardware
- The Central Processing Unit (CPU)
- Purposes of the Central Processing Unit
- Control Unit
- Arithmetic and Logic Unit (ALU)
- RAM and ROM
- The bus system (address bus, data bus, and control bus)
- Input/output units
- Input units (pointing devices, game controllers,
keyboard, scanner, camera,microphone)
- Output units (monitor, printer, speaker)
- Storage units
- Sequential access media (tape)
- Random access media (magnetic disk, optical storage
media, flash memory cards)
2.3. Computer software
- System software
- Operating systems
- What is an operating system?
- Functions of an operating system (controlling
operations, input/output management, command
processing)
- Types of operating systems (single/multi-tasking,
single/multi user, real-time,command driven vs GUI-
based)
- Example operating systems (Windows, UNIX, Solaris,
MacOS)
- Spreadsheet
3. Data representation in computers
3.1. Units of data representation
- Bit, Byte, Word
3.2. Concept of number systems and binary arithmetic
- Binary, Octal, and Hexadecimal number systems
- Conversion from one number system to another
- Binary arithmetic
3.3. Coding method
- EBCDIC (Extended Binary Coded Decimal Interchange
Code)
- BCD 4 and 6 (Binary Coded Decimal)
- ASCII 7 and 8 (American Standard Code for
Information Interchange)
- UNICODE
3.4. Representation of negative numbers and arithmetic
- Signed magnitude, One’s complement, Two’s
complement
3.5. Floating-point representation
4. Introduction to computer programming and Algorithm
4.1. What is computer programming
4.2. Reasons to study programming
4.3. Types and usage of computer languages
4.4. Programming paradigms
- Procedural programming
- Functional programming
- Object-oriented Programming
4.5. Algorithm representation and Data structure
- Introduction to flow chart and pseudo code
- How to write a pseudo code and draw a flow chart for
a given algorithm
- Translating algorithms to programming languages
- Definition of data structures
- Role of data structures in writing programs
- Algorithms Vs Data Structure
5. Programming constructs:
5.1. Process of compiling and running programs
5.2. Basic syntax and semantics of a high-level languages
5.3. Basic Elements of Programming
- Identifiers, variables, literals, constants, keywords,
comments, data types, expressions and operators,
statements.
5.4. Structure (Anatomy) of C++ program
5.5. Input/output Statements
6. Control statements
6.1. Selection Statements
6.2. Loops: for, while, do…while
6.3. Flow control statements [break, continue, go to, return]
7. Arrays and Structure
7.1. Arrays
- Array definition
- Types of arrays
- Array declaration
- Array initialization
7.2. Structure
- Structure Definition
- Declaration of structure
- Initialization of Structure

Teaching and learning  Lecture


Methods  Laboratory, Practical work

Assessment/Evaluation  Theoretical Tests (20%)


and Grading System  Assignment (15%)
 Project work (15%)
 Final Exam (50%)
Text Books 1. Peter, N.: Introduction to Computers, 6th International
Edition, McGraw-Hill
2. Williams, S.: Using Information Technology: A Practical
Introduction to Computer & Communications, 6th Edition,
McGraw-Hills.
3. Paul Deitel and Harvey Deitel : C++ How to Programme;
Prentice Hall; 9th Edition, 2013.
4. Ulla Kirch-Prinz, Peter Prinz: A Complete Guide to
Programming in C++; Jones and Bartlett Publishers, Inc.
London , UK 2002
5. Lafore Robert: Object Oriented Programming in C++; 4th
Edition, Sams Publishing, Indianapolis, USA 2002
Reference Materials 1. ITL ESL , Introduction to computer science , Pearson edition
,2004
2. William Stallings: Computer Organization and Architecture,
5/E, 6/E, Prentice Hall, 2003
3. Walter Savitch, Problem Solving with C++( 6thed), USA,
Addison Wesley,2006
4. Gaddis Tony, Starting out with C++, USA , Scott/Jones Inc.
Publishers, 2001
5. Schildt Herbert, C++ - The Complete Reference(4thed), USA,
McGraw Hill Inc. 2001

You might also like