0% found this document useful (0 votes)
6 views

ICS 1201 - Data Structures and Algorithms

The course ICS 1201: Data Structures and Algorithms aims to equip students with essential knowledge in data structures and algorithms using Java/Python. Students will learn to implement various data structures and analyze algorithmic complexity, culminating in assessments comprising 60% examination and 40% continuous assessment. The course includes lectures, programming exercises, and group discussions, with resources available through the Strathmore University E-Learning System.

Uploaded by

gatumudaniel18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

ICS 1201 - Data Structures and Algorithms

The course ICS 1201: Data Structures and Algorithms aims to equip students with essential knowledge in data structures and algorithms using Java/Python. Students will learn to implement various data structures and analyze algorithmic complexity, culminating in assessments comprising 60% examination and 40% continuous assessment. The course includes lectures, programming exercises, and group discussions, with resources available through the Strathmore University E-Learning System.

Uploaded by

gatumudaniel18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

SCHOOL OF COMPUTING & ENGINEERING SCIENCES

BACHELOR OF SCIENCE IN INFORMATICS AND COMPUTER SCIENCE

COURSE OUTLINE
Course Code/Name ICS 1201: Data Structures and Algorithms
Lecturer Mr. Kelvin Ouma
Lecturer Contact / Office [email protected] / 0759850455
Course Link
Module Leader

1. Purpose of the Course


To provide students with fundamental knowledge in data structures and algorithms to solve problems
using Java/Python.

2. Expected Learning Outcomes


At the end of this course, the student will be able to:
1. Explain concepts of data structures, algorithmic complexity and choice of algorithms based
on problem characteristics.

2. Implement and use commonly used data structures such as stacks, queues, trees and graphs.

3. Display knowledge of algorithms for some common applications such as sorting and
searching.

3. Prerequisites
• ICS 1102: Object Oriented Programming I

• ICS 1104: Discrete Mathematics

4. Detailed Course Outline/Content


Week Topic Discussion Topics Activities
• Abstract data types (ADT) • Class discussions
• What is a data structure • Class exercises
• Examples of data structures
1-2 Introduction
• Review of algorithms, flowcharts,
pseudocode
• Review of object-oriented programming
• Recursion examples • Class discussions
2-3 Recursion • Recursion vs iteration • Class exercises
• Designing recursive algorithms
• Array versus linked list • Class discussions
• Singly linked list • Programming exercises
4 Linked list
• Double linked list
• Applications of linked list
• Definition of stacks and queues • Class discussions
• Stack operations • Programming exercises
• Queue operations
Stacks and • Implementations of stacks and queues
5-6
queues using arrays
• Evaluation of arithmetic expressions
(postfix, infix, prefix notations)
• Applications of stacks and queues
6 CAT 1
• Introduction to trees and types of trees • Class discussions
• Binary trees and balanced binary trees • Programming exercises
• Implementation of binary tree
7-8 Trees
• Binary tree traversals
• Operator precedence and parsing
• Applications
• Introduction to graphs • Class discussions
• Matrix representation • Programming exercises
9 Graphs • Edge list representation
• Weighted adjacency matrix
• Applications
9 CAT 2
Searching • Merge sort, selection sort, quick sort, • Class discussions
10-11 and bucket and other sort algorithms • Programming exercises
sorting • Linear and binary search
• Space and time complexity • Class discussions
Algorithm • Best case, worst case and average case • Class exercises
12
Analysis • Asymptotic notations and common
asymptotic notations

5. Mode of Delivery
1. Lectures and tutorials
2. Programming exercises in the lab using Java
3. Summary notes. Slides will be uploaded to the e-learning platforms
4. Discussions done in groups

6. Course Text
1. Goodrich M., Tamassia T and Goldwasser M.H., 2014. Data Structures and Algorithms in
Java. Sixth Edition.
2. Robert Lafore, 2002. Data Structures and Algorithms in Java. Second Edition.

7. Course Assessment
• Examination 60%
• Continuous Assessment 40%
• Total 100%
8. Assignments and/or Course Work
1. Plagiarism is a serious offence. If detected in any form in course work and assignments, the
following will apply:
a) In partial or non-serious cases (such as not citing whole word-for-word quotes), half
the total possible marks of the assignment are duly struck off.
b) In serious cases (such as whole duplication of a paper), a zero policy will apply i.e.,
all offending assignments will be awarded a mark of zero.

Note: The level of seriousness referred to above is at the discretion of the lecturer. Appeals
are certainly possible through the relevant channels
2. Notwithstanding the above, collaboration in course work is certainly encouraged as this
promotes team spirit and group synergy as long provided originality is preserved.
9. Websites
The course online resources and other materials will be available via the Strathmore University E-
Learning System SUES.

10. Communication Channels


• E-mail
• SUES
• Module Leader

You might also like