The Department of Computer Science & Engineering
cse@buffalo
CSE 111: GREAT IDEAS IN COMPUTER SCIENCE - Fall 2000

CSE 111: SYLLABUS

(Available on the Web at: http://www.cse.buffalo.edu/~rapaport/111F00/syl.html )

Last Modified: 24 October 2000

NEW material is highlighted

Index: Other Relevant Links:
  • Prerequisites
  • CSE 111 homepage
  • Topics
  • Directory of Documents
  • Who This Course Is For
  • newsgroup archive
  • Staff
  • Class Meetings
  • Texts
  • Important Dates & Tentative Schedule
  • Reading
  • Attendance, Homeworks, Lab Exercises, Exams, Newsgroup
  • Homeworks
  • How to Study
  • Grading
  • Incompletes
  • Academic Integrity
  • Classroom Disruptions

  • PREREQUISITES:       None.

    TOPICS:

    This course is designed to help satisfy the
    general-education mathematics skills or mathematical sciences requirement. The themes of the course are "What is computation?" and "What kinds of things are computable?" You will study algorithmic problem solving techniques, and will gain an appreciation for some of the most interesting and significant results of computer science, as well as its intellectual and social significance. The course has both a mathematical and laboratory component. Topics include some or all of: algorithm design, introduction to structured programming, text manipulation, numerical computation, computability, and artificial intelligence.

    WHO THIS COURSE IS FOR

    This course is designed for students with no previous background in computing, so there is no prerequisite for CSE 111. In fact, if you have had some experience in programming a computer (e.g., a high-school course in Basic, Pascal, C, C++, Java, etc.), or if you would eventually like to take more advanced courses in computer science, then you should take
    CSE 113 (Introduction to Computer Science I) or CSE 115 (Introduction to Computer Science for Majors I) instead of CSE 111. CSE 113 or CSE 115 are the prerequisites for all further computer-science courses, as well as the computer-science major. Students who successfully complete CSE 111 can certainly take CSE 113 in the future.

    In short, CSE 111 is NOT for students who want to "learn about computers" WITHOUT programming (because we will be doing some programming in this course), but it is also NOT for students who want to be CSE majors or who really want to learn how to program computers (because we will only be doing a little programming and not learning all there is to know about programming). (If you want to learn about computers without programming, take CSE 101 (Computers: A General Introduction). If you want to learn how to program, take either CSE 113 or CSE 115.)


    However, admitted CSE/CEN majors should NOT enroll in this course.
    STAFF:

    Professor:
    Dr. William J. Rapaport, 214 Bell Hall, 645-3180 x 112, rapaport@cse.buffalo.edu
    Office Hours: Mondays & Fridays, 1:30 - 2:30 p.m.; and by appointment.

    Teaching Assistants:

    CLASS MEETINGS:

    CLASS INSTRUCTOR REGIS. NO. DAYS HOURSLOCATION
    LectureRapaportMWF12:00 noon-12:50 p.m. Knox 110
    Lab L1 Jansen 063378 Mon 9:00 a.m.-9:50 a.m.Park 143
    Lab L6 Jansen 041101 Mon 10:00 a.m.-10:50 a.m.Park 143
    Lab L3 Mihaylova 383820 Tue 9:00 a.m.-9:50 a.m.Park 143
    Lab L4 Mihaylova 105313 Tue 10:00 a.m.-10:50 a.m.Park 143
    Lab L2 Jansen 037989 Wed 9:00 a.m.-9:50 a.m.Park 143
    Lab L7 Mihaylova 166930 Wed 11:00 a.m.-11:50 a.m.Park 143
    Lab L5 CANCELLED n/a Thu 10:00 a.m.-10:50 a.m.Park 143
    Lab L8 Mihaylova 248371 Fri 11:00 a.m.-11:50 a.m.Park 143

    NOTE: Labs begin the week of September 5

    TEXTS:

    1. Required:
      Biermann, Alan W. (1997), Great Ideas in Computer Science, Second Edition (Cambridge, MA: MIT Press).

    2. Recommended:
      Pattis, Richard E.; Roberts, Jim; & Stehlik, Mark (1995), Karel the Robot: A Gentle Introduction to the Art of Programming, Second Edition (New York: John Wiley & Sons).

    In addition, you may need one or two 3.5-inch, double-density, double-sided disks, which you can purchase in the labs (probably), at the UB Micro store in the Commons, or at the bookstore (or elsewhere). You should probably get disks that are pre-formatted for IBM PCs or Windows.

    IMPORTANT DATES & TENTATIVE SCHEDULE:

     Aug 28-Sep 1 Intro to course;
    how to use UB computers;
    what is CS?
    Biermann, Pref & Intro
    Monday September 4 Labor Day (no class)  
    TWThFM September 5-8,11 First meetings of labs  
     Sep 5-8 3 great insights of CS  
     Sep 11-15 Binary arithmetic Biermann pp. 240-243;
    (omit p. 241 bot - p. 242 top)
     Sep 18-25 Karel the Robot optional: Karel Chs. 1-5
     Sep 27-Oct 2 Programming in Pascal:
    Decision trees
    Biermann Ch. 1
     Oct 4 - Oct 6 Programming in Pascal:
    Text processing
    Biermann Ch. 2
    MondayOctober 9Yom Kippur (no class)  
    TuesdayOctober 10Monday schedule followed  
     Oct 10-11 Text processing (cont'd)(Biermann Ch. 2)
    FridayOct 13Review for Mid-Term  
    MondayOctober 16 *** MID-TERM EXAM ***  
    WednesdayOct 18Review of Mid-Term  
    FridayOctober 20*** Last day to withdraw with a grade of `R' ***  
     Oct 20-Nov 6 Text processing (cont'd) (Biermann Ch. 2)
     Nov 8-10 Computer architecture
    & assembly-language programming
    Biermann Ch. 8
    Friday November 10 *** Last R day for 1st-semester undergrads *** 
     Nov 13Assembly-lang. prog'g (cont'd) (Biermann Ch. 8)
     Nov 15-20Logic & Turing machineshandouts
    W-FNovember 22-24Thanksgiving (no classes) 
     Nov 27-29Turing machines (cont'd)  
     Dec 1What can be computed?
    Church-Turing thesis
    Biermann pp. 186-187
     Dec 4What can't be computed?
    Halting problem
    optional: Biermann Ch 14
     Dec 6Can computers think?: AI Biermann pp. 451-453
    optional: Biermann Ch 15 (all)
    MTWThFDecember 4-8Last meetings of labs 
    FridayDec 8Last lecture;
    Review for final
     
    Mon.-Mon.December 11-18 Exam Week
    (Assume that our
    FINAL EXAM
    is the afternoon of the last day)
     

    READING:

    1. I strongly urge you to read all of Biermann, including those sections that we do not cover in the course. At the very least, you should read the introductory and summary sections of all chapters that we don't cover.

      Although we will cover Karel the Robot in lecture and labs, the book is just for fun reading or further exploration of Karel's capabilities.

    2. Not all assigned readings will be covered in lecture (in lecture, we shall only cover interesting or hard material, plus occasionally material that is not in Biermann), but you are responsible for all assigned material in the text and lectures.

    3. See "How to Read (a Computer Science Text)".

    ATTENDANCE, HOMEWORKS, LAB EXERCISES, EXAMS, NEWSGROUP:

    HOMEWORKS:

    1. HW assignments will be of two types:

    2. The purposes of homeworks are:

      • to give you hands-on experience with relatively small problems and to give you hands-on experience in designing, coding, testing, debugging, and documenting programs
      • to give you practice in applying the concepts covered in the course
      • to give you a chance to assess the level of your understanding

    3. There will be approximately 1 HW each week. Some of them may be time-consuming (but fun, I hope!). You should plan to spend at least an hour or two each week at the computer.

    4. Due dates will be announced in lecture when the homework is assigned. HWs will be collected at the start of lecture on the due date. This is so that the homework can be discussed in the class period when it is due.

      If they are turned in after the start of lecture, your grade will be discounted by one full letter grade (e.g., A becomes B, A- becomes B-, etc.).

      If they are turned in after the start of the next lecture, your grade will be discounted by two full letter grades (e.g., A becomes C, A- becomes C-, etc.).

      If you turn in a HW after the start of the class after that, your grade will be discounted by three full letter grades (e.g., A becomes D, etc.).

      No HWs will be accepted after that.

    5. Put your full name, date, and your lab (L1, L2, etc.) at the top right-hand side of each page, and secure all pages with a staple in the top left-hand corner.

    6. Note: The lowest homework grade will be dropped; you should assume that you will fail to turn in one homework (oversleep, get stuck in traffic, etc.)--that's the one that will be dropped. If you know now that you will regularly be late, see me to make alternative arrangements for turning in your work. Your graded HW will be returned in lab. Occasional extra assignments or quizzes from lab can be used to replace low HW grades, at your TA's discretion.

    HOW TO STUDY:

    For general advice on how to study for any course, see my web page,
    "How to Study".

    GRADING:

    All graded work will receive a letter grade, 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-', 'D+', 'D', or 'F'. Your course grade will be calculated as a weighted average of all letter grades according to the following weights:

    Lab Assignments
    (including attendance, homeworks, quizzes, etc.)
    33 1/3%
    Midterm Exam33 1/3%
    Final Exam33 1/3%
    Total100%

    For further information, see my web document on "Grading Principles"

    Incompletes:

    It is University policy that a grade of Incomplete is to be given only when a small amount of work or a single exam is missed due to circumstances beyond the student's control, and that student is otherwise doing passing work. I will follow this policy strictly! Thus, you should assume that I will not give incompletes :-) Any incompletes that I might give, in a lapse of judgment :-), will have to be made up by the end of the Spring 2001 semester. For more information on Incomplete policies, see the web page, "Incompletes".

    ACADEMIC INTEGRITY:

    While it is acceptable to discuss general approaches with your fellow students, the work you turn in must be your own. If the work of two or more students appears unjustifiably similar, penalties (ranging from an F in the assignment to an F in the course) will be assessed to all concerned. If you have any problems doing the homeworks or projects, consult the TA or Prof. Rapaport. Also see the webpage,
    "Academic Integrity: Policies and Procedures"

    CLASSROOM DISRUPTIONS:

    In a large class such as this, students have been known to be disruptive, either to the instructor or to fellow students. The university's policies on this topic, both how the instructor should respond and how students should behave, may be found on the webpage
    Obstruction or Disruption in the Classroom - Policies


    William J. Rapaport (rapaport@cse.buffalo.edu)
    file: 111F00/syl.24oc00.html