|
|
The Department of Computer Science & Engineering
|
|
CSE 111: Great Ideas in Computer Science
|
|
CSE 111:
Great Ideas in Computer Science
Daniel R. Schlegel
Summer, 2011
MW, 10:00 - 2:00, 201 Capen Hall
Lecturer:
Daniel R. Schlegel,
18 Commons, drschleg
[at] buffalo
[dot] edu
Office Hours: Tuesday 1:30-2:30, Wednesday 2:00-3:00, and by appointment.
Lecture: Mon/Wed 10am-2pm in Capen
201A.
Course Philosophy:
This course is based on the ideas of computational thinking and algorithmic problem solving. We’re going to cover a lot of history, background, and theory in lecture, but a large part of the work will be developing algorithms as a class and individually to solve real-life problems computationally.
Who Shouldn't Take This Class:
If you are an admitted Computer Science or Computer Engineering
student, you should not take this class. If you really want to learn to
program or learn Java, you should probably take CSE113 or the
CSE115/CSE116 sequence. We’ll be learning some Python, but not in
a lot of depth (therefore, we will be doing some programming).
Attendence and Classroom Ettequite:
Attendance to lecture and lab is both expected and required. We will be doing many activities in class and lab which cannot be properly made up outside of class. If you must miss a class after the add/drop period ends a doctors excuse will be the only way to not be penalized. Substitute work will have to be done to make up for any missed class. Having more than one unexcused absense will result in failure of the class. The only exception to this will be during the add drop period you may only accumulate up to 1 absense (ie. missing 2 classes will only penalize you 1 missed class). You will be unable to make up work from unexcused absenses. Cell phones shouldn't be used during lecture, and laptops should only be used for taking notes (I don't recommend this - it'll be really hard to take notes as I will be drawing many figures on the board).
Assignments:
- We’ll have homeworks with problems to be worked out, with short
essays, and with readings which we will discuss in class. There may
also be short (5 minute) presentations/discussions. We’ll do labs in
class, but if you don’t finish you’ll be expected to finish it at home.
Remember, each day of this class is equivalent to a week of a course
during the semester. The work load will be a bit heavy, but fun and manageable.
- No late assignments will be accepted (I'd like to be able to talk about them the day they are due). Homeworks will be collected at the beginning of lecture.
Quizzes and Exams
- Quizzes will be short (around 10 minutes) around the end of the lecture portion of the course on Wednesdays. They will test your knowledge of the previous classes up to the beginning of class on that day.
- There will be only one exam: a take home final which is to be done alone, with no assistance or discussion with other students.
Grading:
Participation will be largely subjective, but it is expected that each person (or group if working in pairs for an exercise) participate during each class. As discussed before, attendance is required. Each homework problem will be assigned a point value (generally some multiple of 3 depending on difficulty), where the following scheme will be used in grading it:
0 - Did not attempt / No serious attempt
1 - Mostly incorrect solution
2 - Somewhat incorrect solution
3 - Perfect solution
If the problem is a multiple of 3, then intermediate scores will be given as appropriate. The total points received on all homeworks will then be summed and divided by the points possible and scaled as appropriate according to the percentages given below. Quizzes and exams will be graded in the same way as the homeworks.
| Attendance and Participation | 20% |
| Homeworks and Labs | 30% |
| Weekly Quizzes | 30% |
| Take-Home Final Exam |
20% |
| Total |
100% |
The default grading for the course will be along the univeristy's standard grading curve:
| A: 93-100 |
C+: 77-79 |
| A-: 90-92 |
C: 73-76 |
| B+: 87-89 |
C-: 70-72 |
| B: 83-86 |
D+: 67-69 |
| B-: 80-82 |
D: 60-66 |
| |
F: 0-59 |
A more generous curve may be used, but should not be expected.
Schedule/Outline:
Note that this entire page is tentative, subject to change with notice, but this section is especially volitile.
Academic Integrity:
While it is acceptable to discuss general approaches with your fellow students, the work you turn in must be your own.
It is the policy of this department that any violation of academic integrity will result in an F for the course, that all departmental financial support including teaching assistanceship, research assistanceship, or scholarships be terminated, that notification of this action be placed in the student's confidential departmental record, and that the student be permanently ineligible for future departmental financial support. If you have any problems doing the assignments, consult the instructor. Please be sure to read the webpage, "
Academic Integrity", which spells out all the details of this, and related, policies. See my page on
plagiarism for an explanation of what I consider cheating.
Students with Disabilities:
This course will abide by the University's principles and procedures regarding students with disabilities. See the Office of Disability Services' statement on
UB's Commitment to Disability Access. Notify the lecturer if you need any accommodations under these policies.
This class is based on several different books and previous instances of this course. Of note are the books "Great Ideas in Computer Science" by Alan Biermann, "Introduction to Computing and Programming in Python - A Multimedia Approach" by Mark Guzdial and Barbara Ericson and the Fall 2004 instance of this course taught by Dr. Rapaport. Some of the content on this page (mostly comics) is shamelessly taken from Dr. Rapaport's pages - he deserves the credit for finding them. The cartoons themselves are copyrighted by their respective authors, and I do not mean to impinge on that in any way.
Copyright © 2011 Daniel R. Schlegel