You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lecture Notes. (Some equations may not be viewed correctly until you install some Mathematical fonts. You may install the trial version of MathType to get these fonts)
Important texts in C language, algorithms, and data structures.
Knuth's homepage, one of the best computer scientists in the world.
Numerical Recipes in C and Fortran is an invaluable source for our students that offers C and Fortran code for solving many numerical problems.
The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License.
Midterm examples: Model 1 with model answer: abeaaebec, and Model 2 with model answer: eaccddddb.
This is the exam instructions that you will find on your exam answer sheet; read them now to save your time then.
Lectures:
01.
Introduction
02.
Concepts: Encapsulation and ADT
03.
Stacks: Array-based implementation I
04.
Stacks: Array-based implementation II
05.
Stacks: Array-based implementation III
06.
Stacks: Linked-based implementation I
07.
Stacks: Linked-based implementation II
08.
Stacks applications: Recursion
09.
Stacks applications: Polish Notation
10.
Queues: Array-based implementation
11.
Queues: Linked-based implementation
12.
Abstraction & Implementation-Related Issues
13.
Lists: Array-based implementation
14.
Lists: Linked-based implementation
15.
Search and Analysis of Algorithms
16.
Analysis of Binary Search Algorithm I
17.
Analysis of Binary Search Algorithm II
18.
Trees
19.
Binary Search Trees I
20.
Binary Search Trees II
21.
Introduction to Graphs
A1.
Analysis of Algorithms I
A2.
Analysis of Algorithms II
A3.
Analysis of Algorithms III
Assignments
(Due: Sep. 22) Read Ch. 1 from the book very well; then code and run the program of the chapter. Also, solve problems E1, E3, and E4 of Exercises 1.3
(Due: Sep. 29) Read Section 3.1. Write the implementation of the array-based stacks in a file and the program of page 80 in another file and add them to a project. Run your program.
(Due: Oct. 06) Write this program (you can code your menu the way you like or get the help of Section 2.3.3). Solve this set of problems (solve stack problems only).
(Due: Oct. 13) Write the linked stack unit and use it for the program of HW3, and make sure that your program is running without any modifications. Write P2 in Exercises 3.2 (get the help of the function written on page 239). Solve these problems. Solve E2, E3 in Exercises 3.4. Solve the review problems of HW3 for linked stacks.
(Due: Nov. 07) Write this program. Solve the review problems for Queues for both implementations. Solve E9 and E10 in Exercises 4.3 (page 138). Solve E4 in Exercises 4.6 (page 164).
(Due: Nov. 24) Write this program. Solve these review problems. Solve E4 in Exercise 5.2 and compare to problem 4 in the Review Problems 2.
(Due: Dec. 15) Solve all problems of Exercises 9.1 (E1-E19); give special attention to E14.
(Due: Dec. 22) Solve E1-E5 in Exercises 9.2. Write this program.
(Due: Nov. 24) From Sec. 3.2 in Rosen, solve the following problems: 1, 4, 5, 7, 15, 18, 21, 22, 24, 29, 30, 31, 34, 36, 51, 60, 62. From Sec. 3.3 in Rosen, solve the following problems: 1, 2, 9, 27.
Course Project
General Policy: Every group (around 3 students per group) should deliver a course project. This project constitutes 10 marks out of the 100. Each group can bring their own idea or select from the list of projects that will be released soon. Project defense will be according to the practical exam schedule. Copying, fudging, or any form of illegal reproduction of works or ideas will result in loosing marks not only getting zero.
Each group must register their names with the TA, and take an ID number (starting from 1 up to the most recent registered group).
Students in a group do not have to be in the same class (section).
Moodle portal for announcements, grades, and other postings.
In the final exam you can open your book, lecture notes, and your notes.
The special lecture on complexity is not included in the final exam. However, all other topics related to complexity, e.g., analysis of binary search, etc., are included.