0% found this document useful (0 votes)
10 views10 pages

Algorithms and Data Structures_Syl

The syllabus outlines the course 'Algorithms and Data Structures' for the academic year 2024-2025, aimed at various computer science-related majors. It includes course details such as prerequisites, learning outcomes, assessment methods, and a comprehensive schedule covering topics like recursion, data structures, sorting algorithms, and dynamic programming. The course emphasizes the importance of attendance, academic integrity, and participation in class discussions.

Uploaded by

ondasssynova06
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)
10 views10 pages

Algorithms and Data Structures_Syl

The syllabus outlines the course 'Algorithms and Data Structures' for the academic year 2024-2025, aimed at various computer science-related majors. It includes course details such as prerequisites, learning outcomes, assessment methods, and a comprehensive schedule covering topics like recursion, data structures, sorting algorithms, and dynamic programming. The course emphasizes the importance of attendance, academic integrity, and participation in class discussions.

Uploaded by

ondasssynova06
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/ 10

Syllabus

Academic Year 2024-2025

1. General Information
Course title Algorithms and Data Structures
Degree cycle (level)/ 6B06101 – Computer Science
major 6B06102 – Software Engineering
6B06103 – Big Data Analysis
6B06105 – Media Technologies
6B06106 – Mathematical and Computational Science
6B07101 – Industrial Internet of Things
6B06301 – Cybersecurity
6B06202 - Smart Technology
Year, term 1, 3
Number of credits 5
Language of English
delivery:
Prerequisites “Introduction to programming C++”, “Object-oriented programming
(Java)”
Postrequisites The knowledge obtained during the course will be used for the courses
“Introduction to Programming 1”, “Advanced Programming 1”.
Lecturer(s) 1. Nadirov Nurtas, MSc in Technical Sciences, Senior-lecturer,
n.nadirov@astanait.edu.kz, C1.3.354, C3 block, 3rd floor, office
hours: 14:00–16:00, C1.3.354
2. Kydyrbekova Aigerim, MSc in Computer Sciences, Senior-lecturer,
aigerim.kydyrbekova@astanait.edu.kz, C1.1.360, C1 block, 3rd
floor, office hours: 14:00–16:00, C1.3.360
3. Tutkyshbayeva Shyryn, MSc in Computer Science, Senior-lecturer,
sh.tutkyshbayeva@astanait.edu.kz, C1.3.357, C3 block, 3rd floor,
office hours: 13:00-15:00, Monday, C1.3.357
4. Tolegen Akhmetov, PhD in Robotics Engineering, Assistant
professor, tolegen.akhmetov@astanait.edu.kz, C1.3.357, C1 block,
3rd floor, office hours: 13:00–15:00, C1.3.357
5. Askar Khaimuldin, MSc in Computer Science, senior-lecturer,
askar.khaimuldin@astanait.edu.kz. Astana IT University, Expo,
C1.3.354. office hours: Wednesdays: 11:00 – 13:00
6. Nursultan Khaimuldin, MSc in Computer Science, senior-lecturer,
n.khaimuldin@astanait.edu.kz. Astana IT University, Expo,
C1.3.354, office hours: Fridays: 10:00 – 12:00
7. Kulash Talapiden, MSc in Robotics, senior-lecturer,
k.talapiden@astanait.edu.kz. Astana IT University, Expo, C1.1.245,
office hours: Thursday: 13:00 – 15:00
8. Botagoz Mirzagalikova, MSc in Robotics, senior-lecturer,
b.mirzagalikova@astanait.edu.kz. Astana IT University, Expo,
C1.3.251, office hours: Wednesday: 10:00 – 12:00
9. Gulsipat Abisheva, MsC in Computer Science, senior-lecturer,
G.Abisheva@astanait.edu.kz, C1.3.357, C3 block, 3rd floor, office
hours: 14:00-16:00, Monday
2. Goals, Objectives and Learning Outcomes of the Course
1. Course “Algorithms and Data Structures” is a 10-week course, where the main
Description focus is designed on solving computational problems that involve
collections of data. Students will study a core set of data abstractions,
data structures, and algorithms that provide a foundation for creating
and maintaining efficient programs and algorithms in particular, and
software in general.
2. Course Goal(s) Course goal is to provide a solid background in algorithms and data
structures for computer science, telecommunication and information
security students, in preparation either for a job in industry or for more
advanced courses at the graduate level.
3. Course  To conceptualize many programming issues at a higher level
Objectives: through algorithms and data structures;
 To understand a core group of basic data structures;
 To know the tradeoffs of each studied data structure so as to employ
the appropriate one for a given situation;
 To improve understanding of recursive methods;
 To analyze data structures and their algorithms for asymptotic
behavior.
4. Skills &  Sound knowledge in various algorithms and data structures;
Competences  Knowledge of complexity theory basics.
5. Course Learning By the end of this course the students will be able to:
Outcomes:  Choose appropriate algorithms and data structures for storing data,
searching and sorting, as well as implementing those algorithms.
 Analyze the runtime performance of various algorithms and
programs in terms of the size of their inputs, averages, best, and
worst cases.
6. Methods of  Quizzes;
Assessment  Theoretical and practical assessments.
7. Reading List Assigned reading materials and presentations should be read prior to
class. Class lectures and discussions will proceed with supplemental and
advanced topics, which could be difficult to understand unless students
have read the assigned material. Readings are listed in the schedule
section. All necessary updates and / or changes to the course will be
reflected in the Learning Management System (moodle.astanait.edu.kz).

Basic Literature:
1. Lecture notes (available on moodle.astanait.edu.kz);
2. Brian Christian. Algorithms To Live By: The Computer Science
of Human Decision / C. Brian, G. Tom. - Great Britain: William
Collins, 2017. - 351 p. - ISBN 9780007547999: 12900.00.392 - C
56;
3. Thomas H. Cormen, Introduction to Algorithms, The MIT Press,
4th Edition, 2022.

Supplementary literature:
1. Aditya Y. Bhargava - Grokking Algorithms: An Illustrated
Guide for Programmers and Other Curious People, Manning; 1st
edition (May 1, 2016);
1. Resources Online journals, articles, papers, books and internet resources as well
as online emulators and online software for simulation.

2. Course policy Course and University policies include:

Attendance:
Attendance is not allocated any grading points in the marking scheme
but is compulsory to pass the course. Normally students are required to
achieve course attendance of minimum 70% to get admitted to the
examination rubric.

In case a student misses 30% or more class sessions without a valid


excuse the instructor has the right to mark him as “not graded”. In such
case a student is not admitted to the exam and automatically fails the
course.

It should be NOTED that in cases when a student is excused for 30% of


the scheduled class sessions or more, he or she must study material
provided under the course on their own. Course instructor might provide
additional opportunities to submit missed graded pieces of work during
office hours or conduct alternative assessment exercises using method
of his or her choosing.

Preparation for Class: Class participation is an important part of this


course's learning process. Although not explicitly graded, students will
be evaluated on the QUALITY of their contributions and insights.
Quality comments possess one or more of the following properties:
- Offers a different and unique, but relevant, perspective;
- Contributes to moving the discussion and analysis forward;
- Builds on other comments.

Class work: The duration of each lecture and practical lesson is 50


minutes for offline class, and 40 minutes for online class. Students are
expected to complete all readings and assignments ahead of time, attend
class regularly and participate in class discussions. In case of systemic
student misconduct, the student can be dispensed from the classes.
Being late to class: When students come to class late, it can disrupt the
flow of a lecture or discussion, distract other students, impede learning,
and generally erode class morale. Moreover, if left unchecked, lateness
can become chronic and spread throughout the class. Therefore, being
late to the class is not welcome and can have restriction activities by the
course instructor.

Attestation I and II: Students who score less than 25% for Attestation
period I or Attestation period II (RK1/RK2) automatically fail the
course.

Homework / Assignments: The assignments are designed to acquaint


students with the theoretical knowledge and practical skills required for
the course. The textbook readings will be supplemented with materials
collected from recent professional articles and journals. In case of using
someone’s work (papers, articles, any publications), all works must be
properly cited. Failure to cite work will result in cheating by the students
and may be a subject of additional disciplinary measures. Each
assignment is graded according to the following criteria:
 90% for technical skills (clean and quality code)
 10 % for non-standard problem-solving skills (creativity)

Late submissions: Most assignments will be discussed in class on the


due date. All work is expected to be submitted on time. All gradings are
based using a percentage grading scale.

In the case of some extraordinary event, students should notify the


course instructor and request an extension of the deadline for
submission. If approved, a new date will be given to the student
depending upon the circumstances by the instructor.

Final exam: The final exam for the course “Algorithms and Data
Structures” includes a multiple-choice test (and/or drag and drop
questions) for 50 minutes which covers theoretical and practical parts of
the course. At the completion of the exam, all works must be submitted
to the Learning Management System (moodle.astanait.edu.kz). No late
submissions are allowed in the exam.

Laptops and mobile devices can only be used for classroom purposes
when directed by the course instructor. Misuse of laptops or handheld
devices will be considered a breach of discipline and appropriate action
will be initiated by the instructor.

Online lessons can be used in case there is not a chance to make offline
traditional lessons. It must not discourage the interest and enthusiasm of
students. The main software to run the online lessons is Microsoft
Teams for video calls and live webinars, and Moodle
(moodle.astanait.edu.kz) as a Learning Management System. Also,
some alternatives such as Telegram, Zoom, or other messenger may be
involved as an additional workaround.
Cheating and plagiarism are defined in the Academic conduct policies
of the university and include:
1. Submitting work that is not your own papers, assignments, or exams;
2. Copying ideas, words, or graphics from a published or unpublished
source without appropriate citation;
3. Submitting or using falsified data;
4. Submitting the same work for credit in two courses without prior
consent of both instructors.
Any student who is found cheating or plagiarizing on any work for this
course will receive 0 (zero) for that work and further actions will also
be taken regarding academic conduct policies of the university.

Academic Conduct Policies of the university: The full texts of all the
academic conduct code will be posted to the students using the Learning
Management System (moodle.astanait.edu.kz).

Contacting the Course instructor: The easiest and most reliable way
to contact the course instructor is by email. Students must feel free to
send an email if you have a question related to the course. Instructor
responds as soon as they can but not always instantaneously. Besides
that, students are also welcome to arrange a one-to-one meeting with the
instructor by their office during office hours to discuss the class using
both offline and online.
* Final exams can be given by an instructor in any other forms such as Written Exam, Final Quiz, Oral
Tasks and Exams, etc.

3. Course Content

# Abbreviation Meaning
1 ISIS Instructor-supervised independent work
2 SIS Students’ independent work
3 IP Individual project
4 PA Practical assignment
5 LW Laboratory work
6 MCQ Multiple choice quiz

3.1 Lecture, Practical/Seminar/Laboratory Session Plans


Lab. sessions
Lectures

Practice
sessions

(H/W)
(H/W)
(H/W)

(H/W)

(H/W)

Week
ISIS

SIS

Course Topic
No

1 Recursion 2 1 2 1 9
a. Recursive functions and algorithms
b. Time-efficiency of recursive
algorithms
c. Recursive data types
2 Asymptotic Analysis and Notation: a. 2 1 2 1 9
“Big-O” Notation
b. Order of growth
c. Complexity Classes
3 Physical Data Structures: 2 1 2 1 9
a. Array
b. Linked List
4 Logical Data Structures: 2 1 2 1 9
a. Stack
b. Queues
c. Heap
5 Logical Data Structures: 2 1 2 1 9
a. Hash Tables
b. Tree
6 Sorting algorithms: 2 1 2 1 9
a. Bubble Sort
b. Merge Sort
c. Quick Sort
7 Searching algorithms: 2 1 2 1 9
a. Linear Search
b. Binary Search
8 Graph 2 1 2 1 9
a. Graph Types: undirected, directed,
edge weighted graphs
b. Graph Representation: Adjacency
Matrix, Adjacency Lists
9 Searching algorithms: 2 1 2 1 9
a. Breadth-first Search (BFS)
b. Depth-first Search (DFS)
10 Dynamic Programming 2 1 2 1 9
a. What is Dynamic programming (DP)
b. Difference between DP and Divide-
and-Conquer
Total hours: 150 20 10 20 10 90

3.2 List of Assignments for Student Independent Study

Recommended
№ Assignments (topics) for literature and Form of
Hours
Independent study other sources submission
(links)
1 2 3 4 5
1 1. Recursive functions and 9 Reading list, books, Exercises
algorithms; internet resources
2. Recursive data types;
3. Types of recursion
4. Recursive programs
5. Implementation issues
6. Recursion versus iteration
7. Tail-recursive functions
8. Order of execution
9. Time-efficiency of recursive
algorithms
2 1. Related asymptotic notations; Reading list, books, Exercises
2. Little-o notation; internet resources
3. Big Omega notation;
4. The Hardy–Littlewood
definition;
9
6. The Knuth definition;
7. Family of Bachmann–Landau
notations;
8. Use in computer science;
9. Extensions to the Bachmann–
Landau notations;
10. Generalizations and related
usages.
3 1. Singly linked list 9 Reading list, books, Exercises
2. Doubly linked list internet resources
3. Multiply linked list
4. Circular linked list
5. Sentinel nodes
6. Empty lists
7. Hash linking
8. List handles
9. Combining alternatives
4 1. Reasons for building a logical 9 Reading list, books, Exercises
data structure internet resources
2. Difference between
conceptual, logical and physical
data models
5 1. Hierarchical Structure 9 Reading list, books, Exercises
2. Network Structure internet resources
3. Relational Structure
6 1. Insertion Sort 9 Reading list, books, Exercises
2. Selection Sort internet resources
3. Merge Sort 1.
4. Heap Sort https://www.hackere
5. Quick Sort arth.com/practice/al
gorithms/sorting/sel
ection-sort/practice-
problems/
2.
https://www.cs.usfca
.edu/~galles/visualiz
ation/HeapSort.html
7 Various classes for searching: 9 Reading list, books, Exercises
1. For virtual search spaces internet resources
2. For sub-structures of a given
structure
3. Search for the maximum of a
function
8 Graphs 9 Reading list, books, Exercises
1. Graph Theory internet resources
2. Graph Types
3. Applications
4. Graph API
5. Vertex
6. Edge
9 Difference Between BFS and 9 Reading list, books, Exercises
DFS internet resources
1. Adjacency List Review
2. Depth-first search
3. Breadth-first search
4. Edge-weighted graphs
5. The shortest path
6. Dijkstra’s algorithm
10 Dynamic programming 9 Reading list, books, Exercises
1. What is Dynamic internet resources
programming (DP)
2. Difference between DP and
Divide-and-Conquer

4. Student Performance Evaluation System for the Course

Period Assignments Number Total


of points
1st Assignments: 40 100
attestation assignment 1, 20
assignment 2, 20
Quizzes: 20
Quiz 1 20
Mid Term 40
2nd Assignments: 40 100
attestation assignment 3, 20
assignment 4, 20
Quizzes: 20
Quiz 2 20
End Term 40

Final exam MCQ 100


Total 0,3 * 1st Att + 0,3 * 2nd Att + 0,4*Final 100

Achievement level as per course curriculum shall be assessed according to the evaluation chart
adopted by the academic credit system.

Letter Numerical Grade according to the traditional


Percentage
Grade equivalent system
А 4,0 95-100
Excellent
А- 3,67 90-94
В+ 3,33 85-89
В 3,0 80-84
Good
В- 2,67 75-79
С+ 2,33 70-74
С 2,0 65-69
С- 1,67 60-64
D+ 1,33 55-59 Satisfactory
D 1,0 50-54
FX 0 25-49
Fail
F 0 0-24

Based on the specific grade for each assignment, and the final grade, following criteria must be
satisfied:

Grade Criteria to be satisfied


Demonstrates excellent understanding and application of algorithms and data
structures. Can independently solve advanced computational problems. Selects and
implements appropriate data structures and algorithms efficiently. Provides accurate
90-100 runtime analyses with justification. Actively contributes to discussions.
Shows a strong understanding of core concepts. Completes assignments with
minimal errors. Can analyze and implement most algorithms and data structures
effectively. Provides correct runtime analysis. Participates in class discussions and
80-89 demonstrates good problem-solving skills.
Demonstrates a solid understanding of the fundamentals. Successfully implements
basic algorithms and data structures with occasional errors. Can analyze simpler
cases of runtime performance. Shows progress in problem-solving but may need
70-79 guidance for advanced topics.
Has a basic understanding of data structures and algorithms. Can implement
straightforward algorithms with assistance. Some difficulties with runtime analysis
and algorithm tradeoffs. Partial understanding of key course concepts but
60-69 demonstrates effort in improving.

Struggles with the application of algorithms and data structures. Completes


assignments with significant guidance. Limited understanding of runtime analysis.
50-59 Shows minimal improvement and limited ability to solve problems independently.

Lacks basic understanding of course content. Unable to implement key algorithms


or data structures. Does not adequately participate in assignments or discussions.
25-49 Rarely demonstrates problem-solving skills or improvement.
Fails to meet course requirements. No evidence of understanding algorithms or data
structures. Does not complete assignments or participate in class activities. Shows
0-24 no progress or engagement with course material.

5. Methodological Guidelines
Assessment is administered continuously throughout the course. The students are rated
against their performance in continuous rating administered throughout the semester (60%)
and summative rating done during the examination session (40%), total 100%. Continuous
rating is students’ on-going performance in class and independent work. Class work is assessed
for attendance, laboratory works' defense and in- class assessments.
- ISIS (Instructor Supervised Student Independent Study) -comprises presentation to be
done by students independently and checked by instructor.
- Mid-term and End-term is a review of the topics covered and assessment of
each student's knowledge. The form of the midterm and end term exams is complex.
- Final assessment is a multi-choice quiz to evaluate the students’ academic performance
and professional skills.

You might also like