CS 307 will use the programming language Scheme, a dialect of Lisp. The Scheme implementation we will use is DrScheme. Toward the end of the semester, there will be an introduction to Java.
This course will emphasize CS concepts such as recursion and recursive processing of lists and trees. We will do a lot of programming and work hard; hopefully we will learn a lot and have fun. The course philosophy is to teach CS concepts by having students write many programs (one per week) that do interesting things.
Programming projects must be individual work. Students may discuss concepts or help with specific problems in another student's code. However, sharing program code, working together, or examining someone else's code is not allowed. Students may not work together on program design or flowcharts. Note that the typical penalty for scholastic dishonesty at UT is an automatic F in the course; also, students who do not do the programs themselves will not be able to pass the Final Exam.
Late programs may be turned in, with a 10% late penalty, at the next scheduled class period after the program is due; after that, late programs will not be accepted except for documented non-academic reasons such as illness.
Grades are averaged using the following weights:
Attendance | 08% | ||
Midterm Exams | 20% | Oct. 5 and Nov. 2, in class | |
Final Exam | 36% | Fri., Dec. 14, 9-12 AM | |
Programming Assignments | 36% |
Course grades are assigned on the scale A = 90-100, B = 80-90, etc. based on the average, unless the final exam grade is low. If the final exam grade is below 65 or is more than 15 points below the average excluding the final exam, then a lower course grade may be assigned at the instructor's discretion. A grade check web page is provided to allow students to see their grades to date and estimated final grade.
Programs are assigned letter grades, which are numerically averaged as A+ = 100, A = 95, A- = 93, B+ = 88, etc. A program that satisfies the assignment and has no errors will typically be given a grade of A-; grades of A and A+ are given to programs that have something extra, such as extra work or especially nice code. Note, however, that a grade of A- receives a score several points higher than the bottom of the A range; for example, a student who made 89 on exams and received A- on all programs would have an average above 90 and receive a grade of A.