BCS & BIT 1
Contents
• Basic Information
Course Overview •
•
Course contents
Course layout
• Exercises
David T. Makota • Problem sets
• Assignments
Faculty of Computing & Mathematics • Tests & Final Exam
The Institute of Finance Management • Mode of assessment
• Course policies
Dar Es Salaam, Tanzania • Special needs
CSU07207/ITU07207 - Procedural 1 CSU07207/ITU07207 - Procedural 2
Programming Programming
Basic Information
• CSU07207/ ITU07207 - Procedural
Programming
• Second Semester - 2023/2024
Course Overview • No of Credits: 10
• Consultation: Mondays(11:00am-01:00pm)
Basic Information • Email: [Link]@[Link]
CSU07207/ITU07207 - Procedural 3 CSU07207/ITU07207 - Procedural 4
Programming Programming
1
BCS & BIT 1
Basic Information : Cont
• Meeting times and locations
– Lectures:
• As per time table
– Tutorial Groups /Labs
• As per time table
Course Overview
Course Contents
CSU07207/ITU07207 - Procedural 5 CSU07207/ITU07207 - Procedural 6
Programming Programming
Course Contents Course Contents
• Introduction to Procedural Programming and C
• Intro to C Programming • Program Control
– Input – for
– Output – do/while
– Types – switch
– Arithmetic – break
– Decision Making – continue
• Structured Program Development – Logical Operators
– Algorithmic Development
• Functions
– Problem Solving
– Custom Functions
– if, if/else
– Simulation, Random-Number Generation, Enumerations
– while
– Function Call and Return Mechanism
– Recursion, Recursive Factorial, Recursive Fibonacci
CSU07207/ITU07207 - Procedural 7 CSU07207/ITU07207 - Procedural 8
Programming Programming
2
BCS & BIT 1
Course Contents Course Contents
• Arrays • Formatted Input/Output
– One- and Two-Dimensional Arrays – scanf and printf formatting
– Passing Arrays to Functions • Structures, Unions, Bit Manipulation and Enumerations
– Searching – Creating Custom Types with structs and unions
– Sorting – Bitwise Operators
• Pointers – Named Constants
– Pointers operators & and • • File Processing
– Pass-By-Value vs. Pass-By-Reference – Streams
– Array and Pointer Relationship – Text and Binary Files
• Characters and Strings – CSV Files
– C Standard Library – Sequential and Random-Access Files
– String- and Character-Processing Functions
CSU07207/ITU07207 - Procedural 9 CSU07207/ITU07207 - Procedural 10
Programming Programming
References
• Deitel, P and Deitel, H (2021). C How to Program, 9th edition. Pearson
• Kalicharan, N. (2008). C programming - An advanced course. Create Space
Independent Publishing Platform.
• Malik, D.S. (2012). C++ Programming: From Problem Analysis to Program
Design, 6th Edition. Cengage Learning.
• Reese, R. (2013). Understanding and using C Pointers. O'Reilly Media.
Course Overview
• Behrouz A. Forouzan and Richard F. Gilberg (2006). Computer Science: A
Structured Programming Approach Using C, 3rd Edition. Cengage Learning
References • Karicharan, N (2015). Learn to Program with C: Learn to Program using the
Popular C Programming Language. APress.
CSU07207/ITU07207 - Procedural 11 CSU07207/ITU07207 - Procedural 12
Programming Programming
3
BCS & BIT 1
Course Layout
• Lectures
– One lectures each week
• Labs/Tutorials
Course Overview – One lab/tutorial each week
Course Layout
CSU07207/ITU07207 - Procedural 13 CSU07207/ITU07207 - Procedural 14
Programming Programming
Exercises
• Problems of lower and Moderate levels of
difficulty.
• Aim at encouraging self study and group
Course Overview discussions.
Exercises
CSU07207/ITU07207 - Procedural 15 CSU07207/ITU07207 - Procedural 16
Programming Programming
4
BCS & BIT 1
Assignments
• Problems of higher level of Difficulty
• To be done in groups of five students
• Aims
Course Overview
– Encouraging group discussions
Assignments – Broaden understanding of the subject matter
CSU07207/ITU07207 - Procedural 17 CSU07207/ITU07207 - Procedural 18
Programming Programming
Tests & Final Exam
• Format, specific dates, time and venue
– To be announced
Course Overview
Tests & Final Exam
CSU07207/ITU07207 - Procedural 19 CSU07207/ITU07207 - Procedural 20
Programming Programming
5
BCS & BIT 1
Mode of assessment
• Tutorials, labs, assignments, Quizes and
attendance:
– 20 marks
• Test
Course Overview
– 20 marks
Mode of assessment • Final exam
– 60 marks
CSU07207/ITU07207 - Procedural 21 CSU07207/ITU07207 - Procedural 22
Programming Programming
Course policies
• Students’ responsibilities
– Attend all labs and classes
– Do all quizzes, exercises, tutorials, tests and exams
• Late quizzes will be awarded zero marks
• Turning in late work (asignments & tutorials)
Course Overview
– Will result in penalty
Course policies • Missing quizzes, tutorials, assignments, tests and exams
– will be awarded zero marks unless for logical reasons
CSU07207/ITU07207 - Procedural 23 CSU07207/ITU07207 - Procedural 24
Programming Programming
6
BCS & BIT 1
Course policies: cont Course policies: cont
• Collaboration • Switch off or put your cell phone under vibration
– Encouraged for exercises, tutorials and assignments • You are free to go out during class session but
done in group discussions, but each group/individual without disturbing others
should submit their own work • During lab or class session DO NOT:
– Not allowed for quizzes, tests and exams – Make or receive phone calls
• Plagiarism – Send or receive text messages
– Will result into penalty – Eat or chew anything
– Make noise or disturb others
CSU07207/ITU07207 - Procedural 25 CSU07207/ITU07207 - Procedural 26
Programming Programming
Special needs
• Accommodation for any type of physical or
learning disability
– See me during consultation hours to discuss
Course Overview on necessary modifications.
Special needs
CSU07207/ITU07207 - Procedural 27 CSU07207/ITU07207 - Procedural 28
Programming Programming
7
BCS & BIT 1
Summary
• Basic Information
• Course layout
• Exercises
• Problem sets
• Assignments
• Tests & Final Exam
• Mode of assessment
• Course policies
• Special needs
CSU07207/ITU07207 - Procedural 29
Programming