UNIVERSITY OF GUYANA
FACULTY OF NATURAL SCIENCES
DEPARTMENT OF COMPUTER SCIENCE
_
Course Number: CSE 1201
Course Name: Introduction to Programing
Course Credit: 4
Description: This course is designed for students with little or no prior programming
experience. However, students must have completed the course CSI 1100
"Introduction to Computing" or its equivalent. This course introduces the
fundamental concepts of procedural programming with the use of the C
programming language as the tool. The course also offers an introduction to the
historical and social context of computing and programming in particular. In
addition, this course will build on students’ prior experience in developing
algorithms and problem-solving: Problem-solving strategies; the role of
algorithms in the problem-solving process; implementation strategies for
algorithms; debugging strategies; the concept and properties of algorithms.
Students who successfully complete this course shall be able to demonstrate the
outcomes listed below.
Exemption(s): There are no exemptions for this course.
Pre-requisites:
Follow-On Courses: CSE 2100 –Data Structures and Analysis of Algorithms
Learning Outcomes:
At the end of this course, students will be able to:
1. Identify the basic terminology used in computer programming
2. Explain the process and tools used in transforming source code into
executable programs
3. Differentiate between programming language paradigms
4. Write, compile and debug programs in C language.
5. Use different data types in a computer program.
6. Design programs involving decision structures, loops and functions.
7. Explain the difference between call by value and call by reference
8. Discuss the dynamics of memory by the use of pointers.
9. Make appropriate decisions about when to use macros vs functions
10. Use different data structures and create/update basic data files.
11. explain the difference between computer programming and software
engineering
Course Content:
WEEK TOPICS Lecture Lab HOURS
HOURS
1 Introduction and Background to Programming
Programming Tools 3
Integrated Development Environments (IDEs)
Procedural Programming
● Transforming from Source Code to Executable
Labs 2
2 The use of Data Storage, Data Types and Operators
3
Labs 2
3 Logic Control: Sequence, Selection and Repetition
3
Labs 2
4 Logic Control: Sequence, Selection and Repetition
3
Labs
2
5
Test #1 1
1-Dimensional And 2-Dimensional Arrays 2
Labs 2
6
Modularisation: 3
● Functions
● Parameter Passing
● Intermediate Standard Library Usage
2
Labs
Assignment/Project
7 Pointers:
Setting up Pointers 3
Referencing and Dereferencing Pointers
Caveats of using Pointers
Labs 2
8 Programming Library
● String Processing 3
● Maths
Labs 2
Tutorials
9 Intermediate Data Storage:
● Data Representation 3
● Structures
● Unions
● Bit Fields
Labs 2
10 Macros 3
Labs
2
11 Abstract Data Types
Data Persistence 2
● Text Files
● Binary Files
Test # 2 1
Labs 2
12 Software Testing
● Software Testing Concepts 3
● Unit Testing
● Integration Testing
Labs 2
13 Software Development Ethics and Security 3
Labs 2
14 Revision
15 Final Examination
Total 65 Hours of Contact 39 26
Method of Teaching:
Lectures 3 x 13 = 39 hrs.
Tutorials/Laboratories 2 x 13 = 26 hrs.
Method of Assessment:
Coursework (40%)
▪ Tests (20%)
▪ Assignments (20%)
- Labs 5%
- Project 15%
Final Examination (60%)
Required Reading(s):
The C Programming Language by Brian W. Kernighan, Dennis M. Ritchie
C Programming: A Modern Approach by K.N. King
Recommended Reading(s):