Istanbul Bilgi University Department of Computer Science
Previous Home > Courses > Year 2 > Comp 249 Next
Home
   About This Site
   Academic Policies
   Academic Staff
   Courses
      Course Descriptions
      Year 0
      Year 1
      Year 2
         Comp 211
         Comp 222
         Comp 231
         Comp 232
         Comp 242
         Comp 249
            ProgrammingExamples
         Comp 261
         Comp 262
         Comp 291
         Comp 292
         Comp 297
         Comp 298
      Year 3
      Year 4
   Curiosity Corner
   High School Computer Clubs Project
   Lab Rules
   Links
   Member Help
   News
   Other Stuff
   Standards Project
   Tanitim
   Turing Days
   Usage Statistics
   Yarýţma

COMP 249 - Computational Theory, Circuits and Programming I
Istanbul Bilgi University, Department of Computer Science, 2008-2009 Fall

Description

This course aims to provide computer science students with the grounding in mathematical logic necessary to grasp some of the major theorems with implications in computer science. Propositional logic. First-order logic, theory and model. Quantification theory. Truth. Theorems and proofs. Arithmetic. Gödel’s incompleteness theorem. Moreover, students will learn enough about Boolean logic and logical circuits to understand in principle how the processor of a modern computer works and be able to sketch the design of a simple computer. Finally, this course builds on teaching students to write programs in object-oriented style using a commercially popular programming language. At the completion of the course, students should be able to produce complete programs in object-oriented style, making appropriate use of techniques such as polymorphism and inheritance.

Prerequisites

COMP 112 or COMP 150

Course Information

Instructor - Language Skills
Sara Felix
Home page: http://cs.bilgi.edu.tr/~sara/
Office: Dolapdere 142B, Phone:0212-3115191, E-mail: sara@cs.bilgi.edu.tr
Office Hours: Monday and Wednesday 10:00-11:00, Tuesday 15:00-16:00
Instructor - Programming
Mehmet Gençer
Home page: http://cs.bilgi.edu.tr/~mgencer/
Office: Dolapdere 321, Phone:0212-3115412, E-mail: mgencer@cs.bilgi.edu.tr
Office Hours: Monday 15:00-16:00, Wednesday 11:00-12:00
Instructor - Computational Theory
Ruhan İkeda
Home page: http://cs.bilgi.edu.tr/~ralpaydin/
Office: Dolapdere 131, Phone:0212-3115456, E-mail: ralpaydin@cs.bilgi.edu.tr
Office Hours: Wednesday and Friday 14:00-15:00
Instructor - Circuits
Alpaslan Parlakçı
Home page: http://cs.bilgi.edu.tr/~aparlakci/
Office: Dolapdere 143A, Phone:0212-3115413, E-mail: aparlakci@cs.bilgi.edu.tr
Office Hours: Monday and Tuesday 11:00-12:00, Wednesday 12:00-13:00
Course website
General information on the course can be found at http://cs.bilgi.edu.tr/pages/courses/year_2/comp_249/. Most course materials and assignments will be delivered through the online system at http://courses.cs.bilgi.edu.tr/.
Online facilities
There are two mailing lists for the course: comp-249-announce is used for announcements from the lecturers, and comp-249-discuss is available for course related discussions. The mailing lists can be accessed at http://lists.cs.bilgi.edu.tr/cgi-bin/mailman/listinfo/.

Project submissions should be made through the online system at http://courses.cs.bilgi.edu.tr/.

Other
: There will be no class hours for this course. Instead you are advised to consult assistants of the relevant track during drop-in times. Please consult your instructors for information on this issue.

Resources

Online or hard copy resources for different tracks will be provided by your instructors.

Topics Outline

A tentative weekly outline for all track is provides separately.

Assessment

Students will be graded based on assessment and self-assessment of the protfolios they build throughout the course.

You will be given frequent project assignments during the course. The assignments have two purposes. First is to put what you have learned in the lectures or during self study into work and get proficient in applying the techniques you have learned. Second purpose is to demonstrate that you can do these things. Projects should be both submitted in printed form in due time and also you must keep electronic copies until the end of the term. Assignments should be submitted via the online system.

In order to fulfill the two purposes mentioned above, following criteria shall be applied for evaluation of projects:

  • Correctness: Whether a submitted project satisfies the requirements of the assignment. In other words whether the program works correctly, the digital system design comprises a working system, the logic proof is correct. It is to your advantage to work together with your classmates to check correctness of one another’s solutions, and seek help or start with easier problems when you are unable to solve assigned problems.
  • Timeliness: Late submissions will not be accepted.
  • Style: Your projects should not only be correct, but they should also convey your solution well. Therefore you are expected to be expressive and demonstrate good language skills when writing down your projects. This includes following coding conventions and using expressive comments when writing computer programs, in accordance with literate programming practices.
  • Originality: There is always more than one way to solve problems. A way of solving problems you have seen in the lectures may not be the best way to solve another problem. Designing logic circuits or programs is a creative task and we do expect you to seek alternative, novel ways of solving problems. Therefore you must try to come up with solutions that are original and different, in addition to being correct.
  • Cooperation: In most real tasks you will be working with other computer scientists. We consider development of your abilities to share work and complete tasks as a team as an essential part of your progress. Some of your assignments will be group projects and your partners’ experience about working with you will be a part of your performance evaluation. While in most cases you will be your own judge or cooperate with your classmates to evaluate one another, you will be asked during the lectures to present your solutions to assigned problems. As this will be the major change of your lecturers to judge your proficiency on course subject, you are advised to come to lectures well prepared.

In addition to project assignments, there will be several quizzes and a final exam for this course; and grades you take from these exams will provide a double check of your performance. Content and difficulty of quizzes or the final exam will not be substantially different from the assignments and will not require additional work on your part other than working towards your assignments. Your final grade for each of the four tracks of the course (digital systems, logic, programming, and language skills) will be a weighted sum of your coursework grade (assignments and quizzes, 60%), and your final exam (40%). Your final grade for the course will be the average of your track grades.

In order to help you monitor your progress during the course you will be asked to evaluate your overall progress midway through the semester and discuss with your lecturers the ways to improve your performance. At the end of the semester you will be asked to write an overall evaluation and grade your performance on the course. Although your lecturers will have the final say on your grades, these practices are proven to be extremely useful for self-diagnosis of your problems and for taking timely action to improve your performance.


This document was translated from LATEX by HEVEA.