CS100 – Algorithms and Data Structures

Course Description

The aim of this course is to inform about the general structure of programming, function, conditional statements, and iteration. Student will know more about how to define data type, pointers and dynamic data structures. They can develop and implement special data structure as stack, queue and binary tree.

Course Learning Outcomes

By the end of this course students should: • Understand concepts: algorithm, program… • Understand the concept of a program in a high-level language being translated by a compiler into machine language program and then executed • Understand the concept of a variable holding a value, how a variable is declared and how it can be changed • Be able to use a conditional statement to select a choice from two or more alternatives • Understand the concept of a loop which is a series of statements written once but executed repeatedly and how to use it in a programming language • Be able to work with both character and numerical data • Be able to break a large problem into smaller parts, writing each part as a module or function • Be able to use an array to store multiple pieces of homogeneous data, • understand the abstract properties of various data structures such as stacks, queues, lists, and trees

Course Materials

  • Lecture notes
  • Labs

Course Content

  • Introduction to algorithmic and Programming in C language
  • Fundamentals of C Language
  • Conditionals statements.
  • Repetition statements
  • Array
  • Strings
  • Functions
  • Stacks and Queues
  • Binary Trees

TBS Grading Scale

Scale (out of 100)TBS Grading ScaleGrade Point
Grade > 90A4.0
87≤ Grade < 90A-3.7
83 ≤ Grade < 87B+3.3
80 ≤ Grade < 83B3.0
77 ≤ Grade < 80B-2.7
73≤ Grade < 77C+2.3
70 ≤ Grade < 73C2.0
67 ≤ Grade < 70C-1.7
65 ≤ Grade < 67D+1.3
60 ≤ Grade < 65D1.0
Grade < 60F0.0