Course Schedule: Turkish: Monday(2 PM) B312; English: Thursday(3 PM) B314
Course TA(s): TBD
Course webpage: http://ww3.ticaret.edu.tr/aboyaci/dersler/bil231-algorithmsalgoritmalar/
Source Codes: https://github.com/aboyaci/BIL231_Algorithms
Course Description: This course teaches general understanding about algorithms, techniques to measure and compare algorithm performances, well-known data structures and their algorithms, and algorithm design principles.
Prerequisite(s): A passing grade at BIL111-Programming, BIL122-Data Structures is highly recommended.
Note(s): You should have a Linux (preferably Ubuntu) running laptop with you.
Credit Hours: 3
ECTS Credits: 5
Textbook: Introduction to Algorithms, 3rd Edition, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein; ISBN-13: 978-0262033848
Supplementary Textbook(s): Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching, 3rd Edition, Robert Sedgewick; ISBN-13: 978-0201350883
At the completion of this course, students will be able to:
- Analyze asymptotic performance of algorithms.
- Demonstrate a familiarity with major algorithms and data structures.
- Apply important algorithmic design paradigms and methods of analysis.
- Apply efficient algorithms in common engineering design situations.
Letter Grade Distribution:
|>= 90.00||AA||50.00 – 59.99||CC|
|80.00 – 89.99||BA||45.00 – 49.99||DC|
|70.00 – 79.99||BB||40.00 – 44.99||DF|
|60.00 – 69.99||CB||<= 39.99||F|
- You must have your computer with you in all sessions.
- Quizzes and exams are closed book, closed notes.
- No makeup quizzes or exams will be given.
- Grades in the C range represent performance that meets expectations; Grades in the B range represent performance that is substantially better than the expectations; Grades in the A range represent work that is excellent.
- Grades will be maintained in OBS. Students are responsible for tracking their progress by referring to the online gradebook.
- Labs and Assignments
- Students are expected to work independently. Offering and accepting solutions from others are an act of plagiarism, which is a serious offense and all involved parties will be penalized according to the Academic Honesty Policy. Discussion amongst students is encouraged, but when in doubt, direct your questions to the professor, tutor, or lab assistant. No late assignments will be accepted under any circumstances.
- Attendance and Absences
- According to the University rules, regulations, and guidelines (Chapter Four, Section related to the attendance, Item 25, first clause [in Turkish]), all students should attend at least 70% of the lectures throughout the semester of interest. Students who do not meet the attendance criterion will fail with the letter grade “IA”. It is students’ responsibility to follow up with their intermittent attendance status throughout the semester. The instructor will not announce and/or disseminate the attendance status of the students.
- Students are responsible for all missed work, regardless of the reason for absence. It is also the absentee’s responsibility to get all missing notes and/or materials.
Academic Honesty Policy:
See Academic Honesty page.
Tentative Course Outline:
The weekly coverage might change as it depends on the progress of the class. However, you must keep up with the reading assignments.
- History of algorithms
- Analyzing algorithms
- Asymptotic notation
- Linked Lists
- Dynamic Arrays
- String Matching
- Midterm Exam
- Selection sort
- Insertion sort
- Buble sort
- Quick sort
- Merge sort
- Heap sort
- Dynamic programming
- Greedy algorithms
- Amortized analysis