INSY 216 ALGORITHMS COURSE SYLLABUS
I. General information
1. Faculty: INFORMATION TECHNOLOGY
2. Department: Information Management| Networks and Communications Systems
3. Course Name: INSY 216 Algorithms
4. Prerequisite:
5. Number of credits: 4 CREDITS
6. Semester: 1st Semester: September 2016 – February, 2017
7. Academic Year: September 2016 - July, 2017
8. Course Instructor: NIYOMUGENGA Vivien
II. Course Description.
This course is designed for novice programmers. Its objective is to provide students with an abstract and logical
thinking and the tools needed to write pseudo codes, which finally are translated into computer programs. Students
are introduced to fundamental concepts and algorithms that are known to common programming languages. This
course emphasizes the practical skills, providing the students with a toolbox of techniques that can be used for a
variety of solutions in Programming.
1. Aim
Students should be able to identify basic concepts of programming and to solve any kind of problem related
to be treated by the computer.
2. Nature of subject
The subject is pure theoretical. In order to help Students to learn better program languages is advisable to
show some practical programs.
3. Topics to learn
Introduction, variables, read and writes operations, control flow, arrays, modular programming with functions,
structures and pointers.
III. Learning outcomes OR Objectives
By the end of this course, the student will be able to:
___________________________________________
1. COGNITIVE: Define your objectives through the following cognitive Bloom taxonomies:
Knowledge:
Identify the problem using an algorithm.
Calculate the greatest common divisor of a given number
Identify a variable with examples
Define control flows,
Define an array,
Define Modular programming with functions,
Define Modular programming with functions,
Apply modular programming on a given problem.
Comprehension/Understanding:
Illustrate a variable in a given problem
Declare a variable
Initiate a variable
Explain the If statement,
Explain the if-else statements,
Explain Nested if-else Statement
1
Explain the role of the loops and their use.
Apply branching statements and loops on a given problem.
Application:
Apply the algorithm in a given problem
Search, sort and array.
Solve a graph problems and numerical problems
Apply an array on a given problem.
Declare a function,
Declare a procedure,
Passing data to functions.
Apply modular programming on a given problem
Analysis:
Declare an array
Synthesis;
Write a program by using READ and WRITE operation to a given problem.
Evaluation:
Mark students and measure their performance
Read the perception of the Student on how the course was taught
2. PSYCHOMOTOR: Define your objectives through the following Psychomotor taxonomies:
- Perception:
OTHER ADDED DOMAINS: We can call them “INTEGRATION DOMAINS”
3. DIVINE: Define your objectives through the following divine taxonomy:
- Organize prayers before class.
4. ICT/Communication: Define your objectives through the following ICT taxonomy:
-To prepare and present assignments using Microsoft Office
Structured Course Content [Indicative Content] According to Sessions or Weeks
Chapters.
Date Objectives [Learning Topics to be covered in Learning
Outcomes] classroom inside or
outside the
classroom
(Assignments,
Quizzes)
Chapter 1: September 4- By the end of this course, the Algorithm (list of topics…)
9, 2016 students will be able to…
Introduction Identify the problem using an 1. Understanding the problem
algorithm. 2. Deciding on Appropriate
Data Structures
3. Algorithm Design
Apply the algorithm in a given Techniques
problem 4. Methods of Specifying an
Algorithm
5. Proving an Algorithm’s
Correctness
6. Analyzing an Algorithm
7. Coding an Algorithm
Chapter 2: September By the end of this course, the Algorithm (list of topics…)
11-16, 2016 students will be able to…
Variables 1.Identify a variable with Define a variable,
examples
2. Illustrate a variable in a Understand and the use of a
given problem variable.
2
3. Declare a variable
4. Initiate a variable
5. Apply a variable to a given
problem
Chapter 3: September By the end of this course, the
18-23, 2016 students will be able to…
READ AND WRITE 1. Write a program by using Definition of READ and Exercises
OPERATIONS READ and WRITE operation WRITE operation
to a given problem. Application of READ and
WRITE operation
Chapter 4: September By the end of this course, the Algorithm (list of topics…)
25-30, 2015 students will be able to…
October 2-7,
2016
October 9-14,
2016
CONTROL FLOW Define control flows, Control Flows Exercices
Explain the If statement, Branching statements
Explain the if-else statements,
Explain Nested if-else
Statement
Explain the role of the loops
and their use.
Apply branching statements
and loops on a given problem. Looping Statements
Chapter 5: October 16- By the end of this course, the Algorithm (list of topics…)
21, 2016 students will be able to…
October 23-
28, 2016
October 31-
Nov 4, 2016
ARRAYS Define an array, Introduction
Declare an array, Operations on array
Search, sort and array. Array illustrations
Apply an array on a given Multi-dimensional arrays
problem.
Chapter 6: November By the end of this course, the Algorithm (list of topics…)
13-18, 2016 students will be able to…
November
20-25, 2016
MODULAR Define Modular programming Introduction
PROGRAMMING with functions, Function Components
WITH FUNCTIONS Declare functions, Passing Data to Functions
Declare procedures, Function Return Data Type
Passing data to functions. Library Functions
Apply modular programming Parameter Passing
on a given problem. Return by reference
Recursive Functions
Chapter 7: November By the end of this course, the Algorithm (list of topics…)
27- Dec 2, students will be able to…
2016
December 4-
9, 2016
3
STRUCTURES Define a structure, Introduction
Initialize a structure, Structure Declaration
Accessing members of a Structure Definition
structure Accessing Structure Members
Apply a structure on a given Structure Initialization
problem. Nesting of Structures
Array of Structure
Structures and Functions
Chapter 8: December By the end of this course, the Algorithm (list of topics…)
11- 16, 2016 students will be able to…
December
18- 23, 2016
POINTERS Define a pointer, Introduction
Declare a pointer, Pointers and their Bindings
Initialize a pointer, Address Operator (&)
Apply a pointer on a given Pointer Variables
problem. Void Pointers
Pointer Arithmetic
Runtime Memory
Management
Pointers to Functions
Please note that QUIZZES, MID-SEMESTER or FINAL EXAMS should be indicated in this scheduling…
IV. Methodological Strategies or Learning and Teaching Strategies could be done through INDIVIDUAL
or GROUP PRESENTATION. Still, we need to keep in mind the domains such as:
Cognitive
1. Lecturing
2. Active engagement of the students ( exercises, quizzes, assignement, examinations).
Affective
1. Observe how students work in class
2. Attendence of the students
Psychomotor
1. Modelling (the teacher solve the problem on white board and students also go in from to solve the
remaining problems.
V. Student Conduct (Rules are shared with students according to AUCA Academic policy)
Active participation in learning
Mandatory attendance
Chewing gum prohibition
Punctuality to come to class or any other learning activity
Avoidance of plagiarism
Avoidance of cheating
Avoidance of the use of phones during the learning process
VI. Examination [Assessment Strategy/Assessment Pattern]
Period Formative & Summative Evaluation Weighted
CATS {Continuous Assessment Tests}
During the Quiz, individual assignments 25%
Semester Attitudes & Values: attendance and punctuality, participation, 5%
etc
Mid-Semester Exam 30%
Final Exam 40%
TOTAL 100%
VII. Strategy for feedback and Student Support during the Course:
For the good understanding of the subject, assistance available during teaching hours and self study hours. The
teacher is available to help students in case they have some problems. Also, your assignments, quizzes and
exams will be returned to the teacher after marking/grading them.