MACHAKOS UNIVERSITY
SCHOOL OF ENGINEERING & TECHNOLOGY
DEPARTMENT OF COMPUTING & INFORMATION TECHNOLOGY
Course Programme:
Bachelor of Science (Computer Science)
Course Unit:
SCO102: Introduction to Programming
Course Unit Pre-requisite:
None
Semester & Academic Year
First Year First Semester 2020/2021
Contact Hours & Credit Hours
42 Hours; 3 Hours Theory, 2 Hours Lab Work
Lecturer:
Mr. Erick Odhiambo Omuya
Copyright © Machakos University, 2020
All Rights Reserved
OCTOBER, 2020
Page 1 of 5
LECTURES’ PROFILE
Name: Mr. Erick Odhiambo Omuya
Education: MSc Computer Science (UoN), BSc Computer Science (KU)
Specialization: AI (Machine Learning), Software Engineering.
Department: Computing and Information Technology
Office: ADB 3RD Floor Room 1
Email:
[email protected] Phone Number: +254 727 211 203
Course Purpose
The objective of this course is to enable the student apply a high level language to solve simple scientific
problems, and to manipulate the inputs/outputs of a computer program. This course basically introduces the
student to computer programming.
Expected Learning Outcomes of the Course
At the end of this course unit, the student should be able to:
i. Understand the basic principles in programming
ii. Understand the problem-solving strategies
iii. Understand the process of creation of computer program, and the different approaches.
iv. Use a high level language to write code, compile and execute a program with
emphasis, on scientific applications.
Mode of delivery
Lectures, Online/Blended Learning, practical and tutorial sessions, individual and group assignments,
exercises and project work.
Instructional Materials and Equipment
Whiteboards/Chalkboards/Smartboard, Whiteboard markers, Computers and Projector, E-Learning
Platforms, Course Notes.
Course Assessment
Assignments, E-tivity, CAT1 – Theory (20%); CAT2 – Practical (20%); End of Semester Examinations
(60%).
Total 100%
Page 2 of 5
Course Schedule/ Content
Week Topic Subtopic Remarks/
1 Introduction to Computer Definition of key terms Lecture Discussion
Programming Levels of Programming/
History of Programming
Languages
Qualities of a good program
2 Program Development Cycle Program development Steps Lecture Discussion
Programming Paradigms
Structured programming
techniques
3 Program Design Algorithms. Discussion and
Flowcharts. Exercises
Pseudo code.
Summary of other design methods
4 CAT 1
5 Programming Structure Structure of program: libraries Lecture Discussion
and includes variables, main
functions and other functions.
6 C – Programming Overview of C – Language; Discussion, Coding
Character set, keywords, and Exercises
constants and variables, data
types, declarations of variables
Statements: Simple I/O
Statements, Comments;
assignments and expressions
statements.
7 Operators in C Arithmetic, rational, logical and Discussion, Coding
conditional expression operators. and Exercises
Operator precedence
8 CAT 2
9 Control Structures Sequential Discussion, Coding
Selection: Selection IF and and Exercises
Switch/ Case statements, Question
mark/colon operator.
10 Control Structures 2 Iteration (repletion): Looping- for. Discussion, Coding
While Loop, do – while. and Exercises
Page 3 of 5
Break and continue
11 Functions Function return types(void and Discussion, Coding
return types) and Exercises
Function prototypes, passing
parameters.
Function definition - Local
variables and scope. Static
variables
12 Pointers, Structures, Unions Definition, Initialization, Pointer Discussion, Coding
Arithmetic and simple pointer and Exercises
programs.
Introduction to Structures and
Unions
13, End Of Semester Exams
14
Core Textbooks
1. Bjarne S. (2014). Programming: Principles and Practice Using C++, Addison-Wesley
Professional; 2 edition, ISBN-10: 9780321992789
2. Tony G. (2017) Starting Out with C++ from Control Structures to Objects, Pearson,9th Edition,
ISBN-10: 9780134498379
3. Classical: Xavier C (2008). Introduction to Computers and Basic programming. New Age
International Publishers, ISBN 978-81-224-2123-1
Core Journals
1. Journal of Functional Programming. ISSN:0956-7968.
http://journals.cambridge.org/action/displayJournal?jid=JFP
2. Programming and Computer Software. ISSN: 0361-7688.
http://www.springer.com/computer/journal/11086
3. Logical Methods in Computer Science. ISSN:1860-5974
https://lmcs.episciences.org/page/authors-submit
Recommended Reference Textbooks
1. Classical- Harold Abelson, Gerald Jay Sussman, Julie Sussman (1996). Structure and
Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science) ISBN
978- 567954
2. H.M. Deitel and P.J. Deitel (2014). C: How to Program, 2nd Edition. Prentice Hall, ISBN 341-
7600465
3. Bjarne Stroustrup (2017). Programming: Principles and Practice Using C++ Prentice Hall ISBN
341-6780027
Page 4 of 5
Recommended Reference Journals
1. Journal of Computer Languages ISSN: 2590-1184 https://www.journals.elsevier.com/journal-of-
computer-languages
2. ACM Transactions on Programming Languages and Systems (TOPLAS) ISSN:0164-0925
EISSN:1558-4593 https://dl.acm.org/citation.cfm?id=J783
3. Science of Computer Programming. ISSN: 0167-6423.
https://www.journals.elsevier.com/science-of-computer-programming.
Course Policy
1. Class Attendance
Students are expected to attend all class sessions as indicated on the semester teaching timetable.
A class attendance register will be used to tract the student’s attendance. Note that if you don‘t
attend 2/3 of the lectures, you will not be allowed to sit for end of semester examination
2. Late Work Policy
Be sure to pay close attention to deadlines. There will be no makeup assignments or CATs, or late
work accepted without a serious and compelling reason and lecturer/Chairman of Department
approval.
3. Complete Assignments
Assignments must be submitted by the given deadline or special permission must be requested from
Lecturer before the due date. Extensions will not be given beyond the next assignment except under
extreme circumstances.
Important Note: Any form of academic dishonesty, including cheating and plagiarism, will be reported
to the University Student Disciplinary Committee.
Lecturer signature: ………signed……………………………. Date: ……28/09/2020…………
C.o.D Signature: ……………signed…………………………. Date: ………5/10/2020………..
Page 5 of 5