|
CEN133 Algorithms and Programming I |
|
|
|
Lecture LAB settings : |
: |
Monday, 09:30 - 12:20 (Section D), Tuesday 09:30 - 12:20 (Section C)
Thursday 10:30 -12:20 (Section EE-1, Section EE-2)
|
| Language |
: |
English |
| Class room |
: |
Lecture: A-203
Lab: A-410, A-503
|
| Units |
: |
3+2 |
| - |
- |
- |
| Instructor |
: |
Asst.Prof. Dr. Orhan Dağdeviren
|
| Office room |
: |
C-201 |
| Office hours |
: |
|
| Office Tel. |
: |
(232) 246 4949 |
| - |
- |
- |
| Lab Instructors |
: |
Deniz Özsoyeller, Züleyha Akusta
|
| Office room |
: |
A-201, A-107 |
| Office hours |
: |
|
| Office Tel. |
: |
(232) 246 4949 |
| 1. Prerequisites |
: |
None |
| 2. Contents |
: |
Processing simple forms of data. Numbers, expressions, simple programs. Natural numbers. Programs, functions and variable definitions. Conditional expressions and functions. Compound data: structures, lists. Function composition. Self referential and mutual referential data. Development through iterative refinement. Abstracting design. Generative recursion. Syntax and semantics of Scheme programming language. Basic algorithmic analysis. File management. Object state.
Data abstraction.
|
| 3. Objectives |
: |
This course introduces students to the concept of algorithm, algorithmic design and basic principles of computation.
|
4. Textbook/ Lecture notes |
: |
How to Design Programs: An Introduction to Computing and Programming by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi. MIT Press 2001. Full text is available http://htdp.org/2003-09-26/Book Reference book: Structure and Interpretation of Computer Programs, Second Edition by Abelson H., Sussman G., and Sussman J. The McGraw-Hill Companies, Inc. 1996. Full text is available on http://mitpress.mit.edu/sicp/full-text/book/book.html |
| 5. Attendance |
: |
Compulsory attendance for theory lectures is 70% and for lab lectures 80%. |
| 6. Grading |
: |
Lab 30%, Midterm 30% Final 40% |
7. Academic dishonesty |
: |
Academic dishonesty is related to cheating and plagiarism. Copying in whole or in part others’ assignments, lab works or exams, is considered cheating respectively plagiarism. All parties involved will receive a zero score for the lab, assignment or the exam. |
| Week |
Topic |
Chapters |
Lab
|
| 1 |
Processing simple forms of data.
|
|
|
| 2 |
Numbers, expressions, simple programs.
|
|
|
| 3 |
Programs, functions and variable definitions. Conditional expressions and functions.
|
|
|
| 4 |
Compound data: structures, lists.
|
|
|
| 5 |
Function composition.
|
|
|
| 6 |
Self referential and mutual referential data.
|
|
|
| 7 |
Development through iterative refinement.
|
|
|
| 8 |
MIDTERM |
|
|
| 9 |
Abstracting design.
|
|
|
| 10 |
Generative recursion.
|
|
|
| 11 |
Syntax and semantics of Scheme programming language.
|
|
|
| 12 |
Basic algorithmic analysis.
|
|
|
| 13 |
File management.
|
|
|
| 14 |
Object state.
|
|
|
| 15 |
Data abstraction.
|
|
|
| 16 |
FINAL EXAMS |
|
|
| 17 |
FINAL EXAMS |
|
|
|