KYU/A/ASA/02
SCHOOL: PURE AND APPLIED SCIENCES
COURSE OUTLINE
DEPARTMENT: PURE AND APPLIED SCIENCES
PROGRAMME: BACHELOR OF SCIENCE IN SOFTWARE ENGINERING
YEAR: I SEMESTER: I
UNIT CODE: SPC 2101
UNIT TITLE: INTRODUCTION TO PROGRAMMING AND PROBLEM SOLVING
LECTURE HOURS: 45 PRE-REQUISITES: None
LECTURER: Theuri Patrick
LECTURER CONTACTS: EMAIL: ptheuri@[Link]
1.0 COURSE PURPOSE
To equip the learner with basic principles in structured computer programming methods
2.0 LEARNING OUTCOMES
At the end of the course the learner should be able to:
• Describe the various concepts of structured programming
• Describe the algorithm development process.
• Design and write computer programs using a high-level programming language like C to
solve general problems.
3.0 COURSE OUTLINE
WEEK TOPIC SUB-TOPIC REMARKS
1 Introduction to • Definition
• History
programming concepts.
• Programming Paradigms
2 Program development • Modules and modularity
cycle
• Phases of Program development
• Algorithms
3 Algorithmic problem • Flow charts,
solving • Pseudo code
• Jackson structured diagram
4 Problem solving • Top-down
• Bottom-up decomposition
strategies
• Error
• Translators
5 Introduction to search • Binary search,
• Linear search,
and sort techniques
• Bubble sort
6 Control structures • Sequence,
• Selection,
• Iteration,
7 Introduction to C • Data Types
programming • Variables
• Operators
8 Subprogram • Definition
• Declaration
• Function Call
9 Good programming • Style and
practices
• Conventions
10 Libraries • Testing and
• Debugging programs
11 Arrays • Declaration
• Initialization
• Accessing
12 Pointers • Definition
• How to use
• Null Pointer
13 Structures • Definition
• Accessing Structures Members
• Pointer to structures
14 Program Documentation • Types
• Importance
• Libraries
• Testing and Debugging Programs
15
• Examination
4.0 TEACHING METHODOLOGIES
Lectures and tutorials; group discussion; demonstration; Individual presentations.
5.0 INSTRUCTIONAL MATERIALS AND EQUIPMENT
Audio Visual aids; Computers; Overhead projector and LCD, Whiteboard, flip charts.
6.0 COURSE EVALUATION
CATs = 20%
Assignments =10%
Examinations = 70%
Total = 100%
Pass Mark 40%
7.0 COURSE TEXTBOOKS
• Musembi. Fundamentals of programming using C. Downtown printing. ISBN 9966-05-212-7.
• Deltel. C How to program 6th edition. Pearson , ISBN 978-0-13-705966-9
• Onunga. Introduction to microcomputer & programing. Mariwa, ISBN 9966-9948-0-7
8.0 REFERENCE TEXTBOOKS
• H.M. Deitel and P.J. Deitel (1994). C: How to Program, 2nd Edition. Prentice Hall, ISBN 341-7600455
• Bjarne Stroustrup. (2008). Programming: Principles and Practice Using C++ Prentice Hall ISBN 341-
6780027
• [Link]'s .D.M. Ritchie's (1988). C Programming Language, 2nd Edition, ISBN 345- 895840
9.0 COURSE JOURNALS
• Advances in data Analysis and Classification ISSN1 1862-5347
• Journal of computer science and technology ISSN- 0916-534276
• Annals Of software Engineering ISSN 1022-7091
10.0 REFERENCE JOURNALS
• Journal of computer science and Technology ISSN 1000-9000
• Journal of Science and TechnologyISSN 1860-4749
• Directory of Open Access (DOAJ): Computer Science, ISSN 0034-567352