Lecture 1_Introd_Programming
Lecture 1_Introd_Programming
Nairobi, Kenya
BSD 1207/BIT01203
INTRODUCTION TO PROGRAMMING
Prepared By:
Dr. Linus Aloo, PhD
E-mail: [email protected]
Phone: 0754188380
Course Text
1. Programming in ANSI C" by E. Balagurusamy (8th Edition), McGraw Hill
Education, 2019.
References
1. The C Programming Language" by Brian Kernighan and Dennis Ritchie
(2nd Edition)
2. Fundamentals of programming languages by Dipali P. Baviskar, 2010.
3. Expert C Programming: Deep C Secrets" by Peter van der Linden.
4. C++: The Complete Reference" by Herbert Schildt (4th Edition)
Introduction to Programming Lecture Notes
9/19/2024 1
By Dr. Linus .A. Aloo
INTRODUCTION TO PROGRAMMING
COURSE OUTLINE
Chapter 1: History of Programming: Language models, evaluating languages, chronology of
programming, language generations.
Chapter 2: Programming Tools and Implementation: Translators, Traditional Systems lifecycle,
SDLC, need for documentation and coding standards, attributes of good documentation.
Chapter 3: Data Analysis and Problems: Program development process: program specification,
requirement analysis, design coding and analysis, implementation, and support.
Chapter 4: Algorithms, structured diagrams and structured walkthrough.
Chapter 5: Variables Controls Structures and calculations: Variable types and names, sequence,
selection, loops.
Chapter 6: Programming Techniques: Procedures and Functions, Arrays:- one-dimensional
arrays, two-dimensional array, array processing.
Chapter 7: Testing: Why testing, levels of testing, unit, integration, systems, acceptance testing,
and installation tests. Desk checking and dry running.
Introduction to Programming Lecture Notes
9/19/2024
By Dr. Linus .A. Aloo 2
•INTRODUCTION TO PROGRAMMING
Course Learning Outcomes
• Up successfully completion of this course unit, the learner should be able to
demonstrate a satisfactory performance in the following areas:
• Break down and formulate data into structures appropriate for the problem
to be addressed
Lab Ass II 5%
Lab Ass II 10 %
CATs-CAT 1&2 30 %
TOTALS 100%
9/19/2024
CHAPTER ONE: INTRODUCTION
• 1.1. Introduction
1.1. Introduction
Disadvantage:
Platform Specific: This implies that programs cannot be moved from one computer
architecture to another without re-writing the code.
• High level languages are portable i.e. they are transferable from one computer to another.
• High level languages are user friendly and easy to use and learn.
• Are more flexible, hence they enhance the creativity of the programmer and increase
productivity in the workplace.
• High level languages are far much easier to correct errors (debug).
– Disadvantages
• Their nature encourages the use of many instructions in a word or statement hence the
complexity of these instructions causes slower program processing.
• They have to be interpreted or compiled to machine readable form before the computer can
execute them.
It was developed in 1956 to provide an easier way of writing scientific and engineering applications.
FORTRAN is especially useful in processing numeric data.
FORTRAN has a standard and is therefore portable, and is widely used. It is not suited for business
applications.
COBOL was designed with business and commercial data processing in mind.
The advantages of COBOL are its wide use, capability of using it on different types of computers,
and a pool of skilled programmers.
However, the structure of a COBOL program is such that even simple programs are long.
It was developed in 1964 by John Kemeny and Thomas Kurtz to teach students how to use computers.
Today it is a common language on microcomputers. BASIC can do almost all computer processing tasks.
There are too many dialects of BASIC, and therefore, has no standard.
Some of the versions offer limited facilities in terms of structured programming and meaningful variable
names.
4. PASCAL
It was developed in the early 1970s as a tool for teaching programming by Swiss computer science professor
Niklaus Wirth.
Today PASCAL is the most widely used language for teaching programming. PASCAL has strict variable
typing and declarations.
It uses procedures and functions which allows a “top-down” approach to solving problems.
However, due to its strict style, it is not easy to learn and is poor on data file handling.