University of Ilesa, Ilesa. Osun State.
Course Lecture Note
On
Computer Programming I
Lecturers In charge:
Dr (Mrs) Oyinloye O.A.,
Womiloju A.A. and
Balogun E.O.
1
UNILESA Faculty of Computing
,University of Ilesa, Ilesa. Osun State.
Course Information:
Course Code: COS 201 Course Units: 3.0
Course Status: Core Level: 200 Level
Departments: Computer Science, Cybersecurity and Computer Science Education
Learning Objectives:
At the end of this course, students should be able to:
1. Understand the principles of good programming and structured programming concepts;
2. Understand the programming constructs, syntax and semantics of a higher-level language;
3. Describe the chosen programming language variables, types, expressions, statements and
assignment; simple input and output;
4. Describe the programme control structures, functions and parameter passing, and structured
decomposition; and
5. Develop simple programmes in the taught programming language as well as debug and test
them.
Course Contents:
Essentials of computer programming.
Types of programming: Functional programming; Declarative programming; Logic
programming; object-oriented programming. Scripting languages; structured
programming principles.
Basic data types, variables, expressions, assignment statements, and operators.
Basic object-oriented concepts: abstraction: objects; classes; methods; parameter passing;
encapsulation.
Class hierarchies and programme organisation using packages/namespaces.
Use of API – use of iterators/enumerators, List, Stack, Queue from API.
Searching; sorting; Recursive algorithms.
Event-driven programming: event-handling methods; event propagation; exception
handling.
Introduction to Strings and string processing.
Simple I/O; control structures; Arrays.
Simple recursive algorithms; inheritance; polymorphism.
2
UNILESA Faculty of Computing
,University of Ilesa, Ilesa. Osun State.
LESSON ONE
Essentials of Computer Programming.
1. What is Programming?
Programming is the process of creating a set of instructions that a computer can understand and
execute. A program is written in a programming language, which provides the syntax and
structure for these instructions
There is a close analogy between learning English language and learning JAVA language. The
classical method of learning English is to first learn the alphabets used in the language, then
learn to combine these alphabets to form words, which in turn are combined to form sentences
and sentences are combined to form paragraphs. Learning C is similar and easier. Instead of
straight-away learning how to write programs, we must first know what alphabets, numbers and
special symbols are used in C, then how using them constants, variables and keywords are
constructed, and finally how are these combined to form an instruction. A group of instructions
would be combined later on to form a program. So, a computer program is just a collection of
the instructions necessary to solve a specific problem.
The basic operations of a computer system form what is known as the computer’s instruction
set. And the approach or method that is used to solve the problem is known as an algorithm.
Programming Language are of two types:
1) Low level language
2) High level language
Low level language: are machine level and assembly level language. In machine level
language computer only understands digital numbers i.e., in the form of 0 and 1. So, instruction
given to the computer is in the form binary digit, which is difficult to implement instruction in
binary code. This type of program is not portable, difficult to maintain and also error prone. The
3
UNILESA Faculty of Computing
, University of Ilesa, Ilesa. Osun State.
Assembly language is on other hand modified version of machine level language. Where
instructions are given in English like word as ADD, SUM, MOV etc. It is easy to write and
understand but not understand by the machine. So the translator used here is assembler to
translate into machine level. Although language is bit easier, programmer has to know low level
details related to low level language. In the assembly level language, the data are stored in the
computer register, which varies for different computer. Hence it is not portable.
High level language: These languages are machine independent, means it is portable. The
language in this category is Pascal, Cobol, Fortran etc. High level languages are understood by
the machine. So, it needs to translate by the translator into machine level. A translator is software
which is used to translate high level language as well as low level language in to machine level
language.
Three types of translators are:
1. Compiler
2. Interpreter
3. Assembler
Compiler and interpreter are used to convert the high-level language into machine level
language. The program written in high level language is known as source program and the
corresponding machine level language program is called as object program. Both compiler and
interpreter perform the same task but their working is different. Compiler read the program at-a-
time and searches the error and lists them. If the program is error free then it is converted into
object program. When program size is large then compiler is preferred. Whereas interpreter read
only one line of the source code and convert it to object code. If it checks error, statement by
statement and hence of take more time.
2. Integrated Development Environments (IDE)
The process of editing, compiling, running, and debugging programs is oftenmanaged by a single
integrated application known as an Integrated Development Environment, or IDE for short. An
IDE is a windows-based program that allows us to easily manage large software programs, edit
files in windows, and compile, link, run, and debug programs.
On Mac OS X, CodeWarrior and Xcode are two IDEs that are used by manyprogrammers. Under
Windows, Microsoft Visual Studio is a good example of a popular IDE. Kylix is a popular IDE
for developing applications under Linux. Most IDEs also support program development in
several different programming languages in addition to C, such as C#, C++, and JAVA.
3. Types of Programming / Programming Paradigms and Principles
1. Functional Programming
Functional programming is a programming paradigm where computation is treated as the
evaluation of mathematical functions and avoids changing states or mutable data.
4
UNILESA Faculty of Computing
Course Lecture Note
On
Computer Programming I
Lecturers In charge:
Dr (Mrs) Oyinloye O.A.,
Womiloju A.A. and
Balogun E.O.
1
UNILESA Faculty of Computing
,University of Ilesa, Ilesa. Osun State.
Course Information:
Course Code: COS 201 Course Units: 3.0
Course Status: Core Level: 200 Level
Departments: Computer Science, Cybersecurity and Computer Science Education
Learning Objectives:
At the end of this course, students should be able to:
1. Understand the principles of good programming and structured programming concepts;
2. Understand the programming constructs, syntax and semantics of a higher-level language;
3. Describe the chosen programming language variables, types, expressions, statements and
assignment; simple input and output;
4. Describe the programme control structures, functions and parameter passing, and structured
decomposition; and
5. Develop simple programmes in the taught programming language as well as debug and test
them.
Course Contents:
Essentials of computer programming.
Types of programming: Functional programming; Declarative programming; Logic
programming; object-oriented programming. Scripting languages; structured
programming principles.
Basic data types, variables, expressions, assignment statements, and operators.
Basic object-oriented concepts: abstraction: objects; classes; methods; parameter passing;
encapsulation.
Class hierarchies and programme organisation using packages/namespaces.
Use of API – use of iterators/enumerators, List, Stack, Queue from API.
Searching; sorting; Recursive algorithms.
Event-driven programming: event-handling methods; event propagation; exception
handling.
Introduction to Strings and string processing.
Simple I/O; control structures; Arrays.
Simple recursive algorithms; inheritance; polymorphism.
2
UNILESA Faculty of Computing
,University of Ilesa, Ilesa. Osun State.
LESSON ONE
Essentials of Computer Programming.
1. What is Programming?
Programming is the process of creating a set of instructions that a computer can understand and
execute. A program is written in a programming language, which provides the syntax and
structure for these instructions
There is a close analogy between learning English language and learning JAVA language. The
classical method of learning English is to first learn the alphabets used in the language, then
learn to combine these alphabets to form words, which in turn are combined to form sentences
and sentences are combined to form paragraphs. Learning C is similar and easier. Instead of
straight-away learning how to write programs, we must first know what alphabets, numbers and
special symbols are used in C, then how using them constants, variables and keywords are
constructed, and finally how are these combined to form an instruction. A group of instructions
would be combined later on to form a program. So, a computer program is just a collection of
the instructions necessary to solve a specific problem.
The basic operations of a computer system form what is known as the computer’s instruction
set. And the approach or method that is used to solve the problem is known as an algorithm.
Programming Language are of two types:
1) Low level language
2) High level language
Low level language: are machine level and assembly level language. In machine level
language computer only understands digital numbers i.e., in the form of 0 and 1. So, instruction
given to the computer is in the form binary digit, which is difficult to implement instruction in
binary code. This type of program is not portable, difficult to maintain and also error prone. The
3
UNILESA Faculty of Computing
, University of Ilesa, Ilesa. Osun State.
Assembly language is on other hand modified version of machine level language. Where
instructions are given in English like word as ADD, SUM, MOV etc. It is easy to write and
understand but not understand by the machine. So the translator used here is assembler to
translate into machine level. Although language is bit easier, programmer has to know low level
details related to low level language. In the assembly level language, the data are stored in the
computer register, which varies for different computer. Hence it is not portable.
High level language: These languages are machine independent, means it is portable. The
language in this category is Pascal, Cobol, Fortran etc. High level languages are understood by
the machine. So, it needs to translate by the translator into machine level. A translator is software
which is used to translate high level language as well as low level language in to machine level
language.
Three types of translators are:
1. Compiler
2. Interpreter
3. Assembler
Compiler and interpreter are used to convert the high-level language into machine level
language. The program written in high level language is known as source program and the
corresponding machine level language program is called as object program. Both compiler and
interpreter perform the same task but their working is different. Compiler read the program at-a-
time and searches the error and lists them. If the program is error free then it is converted into
object program. When program size is large then compiler is preferred. Whereas interpreter read
only one line of the source code and convert it to object code. If it checks error, statement by
statement and hence of take more time.
2. Integrated Development Environments (IDE)
The process of editing, compiling, running, and debugging programs is oftenmanaged by a single
integrated application known as an Integrated Development Environment, or IDE for short. An
IDE is a windows-based program that allows us to easily manage large software programs, edit
files in windows, and compile, link, run, and debug programs.
On Mac OS X, CodeWarrior and Xcode are two IDEs that are used by manyprogrammers. Under
Windows, Microsoft Visual Studio is a good example of a popular IDE. Kylix is a popular IDE
for developing applications under Linux. Most IDEs also support program development in
several different programming languages in addition to C, such as C#, C++, and JAVA.
3. Types of Programming / Programming Paradigms and Principles
1. Functional Programming
Functional programming is a programming paradigm where computation is treated as the
evaluation of mathematical functions and avoids changing states or mutable data.
4
UNILESA Faculty of Computing