Undergraduate
Faculty of Science and Letters
Mathematics And Computer Science
Anlık RSS Bilgilendirmesi İçin Tıklayınız.Düzenli bilgilendirme E-Postaları almak için listemize kaydolabilirsiniz.


Introduction to Computer Algorithms

Course CodeSemester Course Name LE/RC/LA Course Type Language of Instruction ECTS
MB0008 2 Introduction to Computer Algorithms 2/2/0 CC Turkish 6
Course Goals
The goals of this course are to introduce the students the concept of algorithm, fundamental algorithmic techniques and conventional computational algorithms such as sorting and searching; to teach the students about how to design and develop algorithms in order to model and solve fundamental mathematical structures and problems.
Prerequisite(s) None
Corequisite(s) None
Special Requisite(s) Proficiency in Python programming, Analysis, Linear Algebra and (in order to follow the course resources) basic English knowledge are necessary and sufficient.
Instructor(s) Assist. Prof. Dr. Levent CUHACI
Course Assistant(s)
Schedule Tuesday, 09:00-10:45 Tuesday, 11:00-12:45
Office Hour(s) Tuesday, 13:00-15:00, via IKU-CATS
Teaching Methods and Techniques - Lecture

- Implementation using Python Programming Language at Computer Lab.
Principle Sources - Allen Downey, Jeffrey Elkner, Chris Meyers, How to Think Like a Computer Scientist – Learning with Python, 2nd ed., Green Tea Press, Wellesley, Massachussets, 2008.

- Lecture Notes
Other Sources -  James Payne, Beginning  Python : Using Python 2.6 and Python 3.1, Wiley  Publishing Inc., Indianapolis, Indiana,  2010.

  -  Tahir Emre Kalaycı (çevirmen), Bilgisayar Bilimcisi Gibi Düşünmek – Python ile Öğrenme, 2nci baskı (orjinalinden çeviri), GNU Lisansı, 2008.

- Mark Lutz, “Learning Python”, 4th ed., O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472, 2009.
 
Course Schedules
Week Contents Learning Methods
1. Week Flow Charts and The Concept of Algorithm Oral presentation, implementation
2. Week Iterative and Recursive Algorithms Oral presentation, implementation
3. Week The Sorting Problem : Selection Sort, Merge Sort Oral presentation, implementation
4. Week The Searching Problem : Linear Searh, Binary Search Oral presentation, implementation
5. Week Derivative of Polynomials Oral presentation, implementation
6. Week Elementary Transcendental Functions Oral presentation, implementation
7. Week Sets, Finite and Infinite Sums Oral presentation, implementation
8. Week Midterm Exam-1 Exam
9. Week Matrix Algebra Oral presentation, implementation
10. Week Gaussian Elimination, Inverse Matrix Oral presentation, implementation
11. Week Gauss-Jordan Method Oral presentation, implementation
12. Week Midterm Exam-2 Exam
13. Week Binary and Hexadecimal Numeral Systems Oral presentation, implementation
14. Week Conversion Between Different Number Systems Oral presentation, implementation
15. Week Finals Week Exam
16. Week Finals Week Exam
17. Week Finals Week Exam
Assessments
Evaluation tools Quantity Weight(%)
Midterm(s) 1 20
Project(s) 1 30
Final Exam 1 50


Program Outcomes
PO-1Interpreting advanced theoretical and applied knowledge in Mathematics and Computer Science.
PO-2Critiquing and evaluating data by implementing the acquired knowledge and skills in Mathematics and Computer Science.
PO-3Recognizing, describing, and analyzing problems in Mathematics and Computer Science; producing solution proposals based on research and evidence.
PO-4Understanding the operating logic of computer and recognizing computational-based thinking using mathematics as a discipline.
PO-5Collaborating as a team-member, as well as individually, to produce solutions to problems in Mathematics and Computer Science.
PO-6Communicating in a foreign language, and interpreting oral and written communicational abilities in Turkish.
PO-7Using time effectively in inventing solutions by implementing analytical thinking.
PO-8Understanding professional ethics and responsibilities.
PO-9Having the ability to behave independently, to take initiative, and to be creative.
PO-10Understanding the importance of lifelong learning and developing professional skills continuously.
PO-11Using professional knowledge for the benefit of the society.
Learning Outcomes
LO-1The student acquires the necessary background and prior knowledge for other programming courses which he/she will attend, most especially "Data Structures" and "Algorithm Analysis and Design".
LO-2The student reviews previously learned information about Python programming, analysis and linear algebra.
LO-3The student understands common algorithm design techniques and identifies the differences between these techniques.
LO-4The student becomes acquainted with conventional computational problems and learns fundamental algorithms in order to solve these problems and also develops Python programs.
LO-5The student develops appropriate models of mathematical structures, formulates solutions to fundamental mathematical problems and develops algorithms.
Course Assessment Matrix:
Program Outcomes - Learning Outcomes Matrix
 PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11
LO 1
LO 2
LO 3
LO 4
LO 5