Syllabus
Computer Sciences 307
Foundations of Computer Science

CS 307 · The University of Texas at Austin · Spring 2002

Objectives.  To learn fundamental computer science concepts including data types, data structures (linked lists, trees, graphs, stacks, and queues), and algorithms; recursion; data abstraction and encapsulation; correctness: specification, testing, and proving. Object oriented design and implementation. Introduction to reasoning about programs correctness and efficiency.

Prerequisites:

  1. A score of at least 560 on the SAT II Subject Test in Mathematics Level I or Level IC, or a score of at least 530 on the SAT II Subject Test in Mathematics Level IIC, or a grade of at least C in Mathematics 305G; 
  2.  and one year of programming in high school, or a grade of at least C in CS 304P, CS303e, or consent of instructor.
  3. and repeated enrollment in CS 307 requires the consent of a CS academic advisor. 

    Warning letters to students apparently not meeting these requirements will be issued by the CS undergraduate advising office and distributed in class. Failure to resolve issues involving prerequisites or repeating the course will result in you being dropped from the course.

Textbooks.
Required: 
Mark Allen Weiss, Data Structures, and Problem Solving with Java (2nd edition)  (Addison-Wesley, 2002), ISBN 0-201-74835-5.

Recommended: Patrick Henry Winston, Sundar Narasimhan, On to Java, (2nd edition) (Addison-Wesley, 1998), ISBN 0-201-38598-8

Staff.

Classes. Monday, Wednesday, and Friday class meetings will be lectures, with four small discussion sections meeting together with me in Taylor Hall 2.106. I may give quizzes during some of the lectures. Small group discussion sections meet on Tuesday or Thursday depending on the unique course ID for which you are registered and which small discussion section you sign up for. Each section meets separately with a graduate teaching assistant or USL to give students the opportunity to discuss supplementary material, get a head start on homework assignments, and allow students to ask questions. Handout will be given the Friday before discussion sections with some of the material to be covered in section. You shall complete this before coming to section although it will not be graded. Participation in lecture and discussion section is one thing that can help you move up if you are on the borderline of a grade break. This means if you are within 1 point of the next highest grade and I believe you have participated in class I reserve the right to move you up to the next highest grade. Short quizzes will be given and important examples will be worked during these discussion sections. You are responsible for any and all material presented at these small discussion sections. 

Web Site. A class web site http://www.cs.utexas.edu/users/scottm/cs307 is maintained. Course materials and some announcements will be available here. Visit the web site and newsgroup (see below) frequently — at least every time you visit the lab or work on an assignment — to check for announcements, especially about assignments, between lectures. Assignments, review materials, and other materials will also be posted there. If you need anything, chances are it's on the website.

Class Newsgroup. Their is a class newsgroup, utexas.class.cs307-scott. If you do not have an email account get one as soon as possible.  There is information on the class web page explaining how to obtain an email account. Note, to access the utexas newsgroups via an off campus internet connection you will have to follow the instructions at www.utexas.edu/cc/usenet/extnews/  The name of the news server is newshost.cc.utexas.edu If you are using Outlook Express on campus you add a new news account with this news server address.  (Under Tools -> Accounts -> add account)  You can also see www.utexas.edu/cc/usenet/index.html for more information about reading from newsgroups. 

Painter Hall Microcomputer Lab. PCs are available for assignments in the CS Department microcomputer lab located  in  Painter Hall, room 3.06. Students must see the user assistant (UA) in Painter 3.12 to obtain an account for the microlab. These accounts are only for the CS microlab, and not any other labs or networks at UT. The TAs, USLs, and proctors will hold office hours in the lab to assist students with questions on programming assignments. Students may also use other computers available to them to do assignments.

Software. There is no official course software. You have many, many options for Java if you want to work at home. You will need a Java SDK. You probably also want an IDE that makes programming easier. One simple IDE is BlueJ, a non commercial Java IDE developed by educators for educational purposes.  BlueJ requires the Java SDK version 1.3 or later be installed first. If you wish to work outside the lab, you will have to download and install the Java Software Development Kit from Sun Microsystems web site along with BlueJ. The class web page has instructions on how to do this. 

Other options include JBuilder and JCreator, both free and available via the web. See the class software page for links to these products. 

Please note, working at home is optional and aside from the information on the web page you are on your own to download, install, and get the Java and BlueJ software up and running.  You will also be required to turn in most of your assignments electronically via the Turnin program, a piece of software that allows you to transfer files from other computers to your account on the microlab server. The instructor and TAs will not be able to help you with installation of software on your personal computer although you may be able to help each other via the class newsgroup.  Be warned, if you choose this route you are mostly on your own.  The time to try and download and install the software at home is NOT four hours before the first assignment is due.

Schedule. A schedule of lecture topics, reading assignments, and assignment distribution and due dates is given below.  The same information will be posted on the web page and any changes to the schedule will be announced in class, on the newsgroup and made on that page.  The schedule page will also contain links to slides from the lectures, assignments, and online readings. I expect you to complete the readings before class so we can have a discussion on the topic instead of a simple lecture. Assignments are always due by 7:59:59 p.m. on Fridays.

Monday Wednesday Friday
January 14

First Day of Class

Lecture 1:  The management of complexity

slides in PDF or PowerPoint format

Reading: 

Assignment 1 Out

January 16

Lecture 2: Software Tools, Java Mechanics

slides in PDF or PowerPoint format

Reading:  Syllabus, Chapter 1, Weiss

January 18

Lecture 3: Java Mechanics

slides in PDF or PowerPoint format

Reading: Chapter 1, Weiss

January 21

Martin Luther King, Jr. Day, No Class 

January 23

Lecture 4: Java Mechanics

Reading: Sections 2.1 - 2.3, Weiss

JavaBasics.java, JavaBasicsMain.java, IntObj.java, IntObj1.java

Tomorrow, Thursday January 24: Deadline for seeing a CS Academic Advisor to resolve problems concerning prerequisites or repeated enrollment.

January 25

Lecture 5: Java Mechanics 

Reading: Chapter 2, Sections 2.4 - 2.6, Weiss

Discussion section handout for the week of January 28.

 

January 28

Lecture 6: Java Mechanics

Reading: Chapter 2, Sections 2.4 - 2.6, Weiss

Discussion sections with graduate TAs and USLs start this week!

 

January 30

Lecture 7: Pointers and Objects

12th class day. Last day to drop for possible refund. Last day to add course. Official enrollment taken.

February 1

Lecture 8, Arrays in Java and I/O

Assignment 1 due

Assignment 2 out

Discussion section handout for the week of February 4.

February 4

Lecture 9:  Classes and Objects. The adding machine and lunar lander examples.

Reading: Chapter 3, Weiss

slides in PDF or PowerPoint formats

 

February 6

Lecture 10: Classes and Objects

Reading: Chapter 3, Weiss
Classes and Objects from Interactive Programming in Java, by Lynn Andrea Stein, available online at www-cs101.ai.mit.edu/ipij/objects.html

slides in PDF or PowerPoint formats

Sample Midterm(Word and PDF)
Solution to Sample Midterm (Word and PDF)

February 8 

Lecture 11: Classes and Objects

Discussion section handout for the week of February 11.

Assignment 2 due

Assignment 3 out

February 11

Lecture 12: Assignment 2 algorithm review.

Quiz

20th class day. Last day to drop a class with an automatic Q

February 13

Lecture 13:  Object Oriented Design of Large Programs

Reading: Chapter 4, Weiss

February 15

Lecture 14:  Java Interfaces (Introduction to Inheritance and Polymorphism)

Slides

Reading: Chapter 4, Weiss

Discussion section handout for the week of February 18.

Assignment 3 due

Assignment 4 out

February 18

Lecture 15: 

Java Interfaces (Introduction to Inheritance and Polymorphism)

Slides

Reading: Chapter 4, Weiss

February 20

Optional class. I will be available in the lecture hall all period for questions. Think of lecture as extra office hours. 

Midterm 1, 7 - 9 p.m.

February 22

Lecture 16:  Algorithm Analysis (Introduction to basics here.  talked about during other topics as appropriate.)

Reading: Chapter 5, Weiss.  The Sieve of Eratosthenes online at www.cs.unc.edu
/~coggins/Teaching/Classics/Seive/

slides in PowerPoint 

Assignment 4 due

Assignment 5 out

February 25

Lecture 17: 

Matrices

Recursion Basics

Reading: Sections 7.1 - 7.3, Weiss

February 27

Lecture 18: Recursion Basics

Reading: Sections 7.1 - 7.3, Weiss

March 1

Lecture 19: Recursion, Procedural Recursion

slides in PDF or PowerPoint formats
Ruler.java

Code for minesweeper

Reading: Sections 7.4 - 7.6, Weiss

Discussion section handout for the week of March 4.

Assignment 5 due

Assignment 6 out

March 4

Lecture 20: 

Recursion and Backtracking

slides in PDF or PowerPoint formats

Reading: Section 7.7, Weiss

March 6

Lecture 21: Recursion and Games

Reading: Chapter 10, Weiss

slides in PDF or PowerPoint formats

Knap.java with code for the Knapsack problem

 

March 8

Lecture 22: Sorting

slides in PDF or PowerPoint formats

Reading: Chapter 8, Weiss

Assignment 6 due

Assignment 7 out

March 11

Spring Break

March 13

Spring Break

 

March 15

Spring Break

March 18

Lecture 23: Sorting and Searching.

Reading: Chapter 8 Weiss

Discussion Section handout

 

March 20

Lecture 24: Abstract Data Types

Reading: Chapter 6, Weiss

slides in PDF or PowerPoint formats

Sample Midterm 2(Word and PDF)
Solution to Sample Midterm (Word and PDF)

March 22

Lecture 25: Abstract Data Types

Reading: Chapter 6, Weiss

slides in PDF or PowerPoint formats

Discussion Section Handout

Assignment 8 out

March 25

Lecture 26: Recursive Data Structures, Linked Lists Introduction

Reading:  Sections 17.1, 17.2, Weiss

slides in PDF or PowerPoint formats

Assignment 7 due

Last day to drop a class (with a possible F) or withdraw without nonacademic reasons.
Last day to change a class to Pass/Fail.

March 27

Lecture 27: Linked Lists

Reading: Sections 17.3, 17.4 Weiss

Notes

March 29

Lecture 28: Class cancelled due to UT holiday

Reading: Weiss Section 17.5

LinkedList.java

Notes

Discussion Section Handout

Assignment 8 due (on Saturday March 30, by 6 pm)

Assignment 9 out

April 1

Lecture 29: Linked Lists

April 3

Lecture 30: Stacks

slides in PDF or PowerPoint formats

Reading: Chapter 11, Weiss

April 5

Lecture 31: Applications of Stacks (Compliers)

Reading: Chapter 11, Weiss

Assignment 9 due

Assignment 10 out

No Discussion Section Handout this week

April 8

Lecture 32:

Queues

Reading: Chapter 13, Weiss

 

April 10

Optional class. I will be available in the lecture hall all period for questions. Think of lecture as extra office hours. 

Midterm 2, 7 - 9 p.m.
Welch 2.224

 

 

April 12

Lecture 33: Applications of Queues (Simulations)

slides in PDF or PowerPoint formats

Reading: Chapter 13, Weiss

Assignment 10 due

Assignment 11 out

April 15

Lecture 34: Trees.

Reading: TBA

slides in PPT

April 17

Lecture 35: Trees, Binary Trees

slides in PPT

Reading: Sections 18.1, 18.2

 

April 19

Lecture 36: Guest Lecture. Proferssor J Moore, chairman of the CS department. Don't miss this one! It is great!

Assignment 11 due

Assignment 12 out

April 22

Lecture 37: Binary Trees

slides in PDF or PowerPoint formats

Reading: Section 18.3, 18.4

 

April 24

Lecture 38: 

Red Black Trees

slides in PDF or PowerPoint formats

Reading: Section 19.1, 19.2, 19.3

Course Survey info

April 26

Lecture 39: Application of Binary Trees. Compression and Huffman Coding

PowerPoint slides

Reading: Section 12.1

Assignment 12 due

April 29

Lecture 40: Application of Binary Trees, Huffman Coding (Priority Queue)

Reading: Section 12.1

May 1

Lecture 41: Working with Files

slides in PDF or PowerPoint formats

Reading: None

May 3

Lecture 42: 

Graphs

slides in PDF or PowerPoint formats

Practice final in Word or pdf
Solution to practice final in Word or pdf

May 6

Dead Day

May 8

Final Exam 7 - 10 pm, Welch 2.224

May 10

Finals

May 13

Finals

May 15 May 17

Exams and Grading. Your grade will be maintained by a TA or USL, normally the person who teaches your small discussion group.  If you have questions or concerns about your grade contact your TA at lab hours or via email.  Please do not contact Mike initially with grade questions or concerns else you will get a pithy reply reminding you to contact your TA.  

Course grades will be based on the following components.

Exam Topics: Exams will cover material from lecture, discussion sections, assignments, and the assigned readings.  Exams will be cumulative although they will be more heavily weighted towards material not yet tested.  Computer Science and programming is a very cumulative discipline (like Mathematics), so it is important to have mastered earlier topics in order to understand later topics.

Final Grades: Final grades will be assigned according to the following criteria:

Final Average Letter Grade
90 - 100 A
80 - < 90 B
70 - < 80 C
60 - < 70 D
  0 - < 60 F

Final Averages will be calculated to 2 decimal places.  I think the grading system at UT really stinks. I want more options such as + and - modifiers. To only have 5 grades to assign is almost criminal. The difference between a 79 student and an 80 student is not that much, but the grading system makes it seem there is a huge difference between the two. Alas, the line has to be drawn somewhere and no special allowances, other than a regrade of the final to ensure correctness, will be made for students whose final average falls near, but below the cutoff.  No curve for the final average will be used although the midterms and final may be curved if the instructor believes it is warranted. I expect to have the following break downs on tests. 18% As, 27% Bs, 35% Cs, 15% Ds, and 5% Fs. I will only curve grades up. If everyone gets an A on the test, no curve will be imposed to lower scores. If everyone passes the test on raw score I will not curve anyone down to an F. 

Nonacademic explanations for poor class performance have no bearing on the assignment of grades. 

Midterm exams. Two midterm exams will be held in the evening on the days shown above. These tests will be held from 7:00 p.m. to 9:00 p.m. in the evening. Exams will cover all material up to and including material presented on the Monday just before the exam. Attendance at exams is required and missing an exam will result in a grade of 0.  However, students who present adequate proof of a conflict with the exam time to the instructor two weeks  before the exam may receive permission to take the exam at an announced alternate date and time, probably the next morning.  You must contact the instructor via email and provide the required information as listed on the class web page. Failure to meet this administrative deadline will result in a 10 point penalty on the exam.

With adequate proof of exceptional conditions, such as illness, the instructor may excuse a student from taking an exam. In this case, there will be no make-up exam; the missed exam grade will be replaced by the weighted average of the remaining midterm exam grade and the final exam grade.  

Final Exam. The final exam will be cumulative and must be taken by all students. It will be held on a uniform exam date, which will be established later, and not on the date announced in the schedule of classes. Students who present adequate proof of an exam conflict, or three or more  final exams on the exam day, or other exceptional circumstances, to the instructor at least one week before the last day of classes may receive permission to take the final exam at the alternate date and time. Failure to meet this administrative deadline will result in a 10 point penalty on the exam.

If you miss an exam because of an emergency or due to some other circumstance show up and take the alternate exam, but realize the 10 point penalty will be enforced except for verified emergencies.

Assignments. Assignments will be given every week. Each assignment will have a clearly stated due date and time. Assignments start out easy, but get harder very quickly.  Most assignments will require programming and may require substantial effort over several days with possible help from the TAs, USLs, and proctors. Budget sufficient time to complete assignments before the deadline. Model solutions to assignments will be handed out in class after the due date. The lowest assignment grade will be dropped.  This is to cover and allow for emergencies and unforeseen problems. Because one assignment is dropped, assignments will not be excused for any reason. 

Late assignments. No late assignments shall be accepted. Missing an assignment will not be excused for any reason. The dropping of the lowest assignment grade is designed to cover all reasons for missing an assignment.

Turning in assignments. All assignments must be submitted using the turnin program. See the class web site for instructions on finding and using the turnin program. The turnin program is installed on machines in the Microcomputer Lab. It may also be downloaded and run on any machine running Windows 95, 98, or NT after an internet connection is made. However, we do not guarantee that the turnin program will work outside the Microcomputer Lab. If it does not work on your machine or you are having a problem with your internet connection, you must use the turnin program installed in the lab. If you have trouble using the turnin program in the Microcomputer Lab you must follow the procedures and instructions below to turn in the assignment.

If you cannot get the turnin program to work for you in the Microcomputer Lab, then have a TA or proctor in the lab email the assignment for you to your TA, with a copy to you or another TA or proctor for proof of mailing. If we determine that turnin works for you in the Microcomputer Lab, we will notify you that further submissions by email will not be accepted. Assignments emailed by students themselves will not be accepted for grading.

Grading of Assignments. Assignments submitted via the turnin program are placed in your directory on the Microcomputer Lab server. Graded assignments will be returned by placing a copy of the graded assignment in the same directory. The copy will contain comments and your grade and will have a file name similar to the name of the file turned in. These files can be viewed with any text editor such as Notepad. If you have an USL instead of a graduate student TA you will arrange for a time with the USL to go over the assignment together to get feedback and discuss any problems you had.

Assignments will be graded on two major criteria, functionality and style. A program that works is not necessarily a perfect program. I want you to write programs that are well thought out and put together well. Each of these will count for half of the grade on your program. More on the two criteria:

Each area of the program grade is assigned a bucket grade. There are 6 possible grades for functionality and 4 for style. The bucket grading system is used to try and eliminate the quibbling over a few points here and there and let us concentrate on giving positive feedback to help you learn how to program better. 

Functionality grading scale:

Style Scale:

Once you have submitted an assignment for a grade, do not delete the file or the returned file from the server. These files are part of your record for the course. We expect them to be available to us indefinitely.

Header and file name. All assignments must be submitted with the proper header, containing the name (as registered), unique number, also known as the unique section number (last two digits of the unique number), and the assignment number at the top of the assignment. Your student ID number or social security number is not required. In addition, because assignments are submitted as files by the Turnin program, they must have the correct file name which will be specified in the assignment handout . You must also ensure you turn in the assignment to the correct section folder, that is the section you are currently registered in. Look at the turnin page on the class web page for information on how to make sure you are turning the assignment into the right section. Assignments which omit or are incorrect in any one or more of these requirements will have automatically receive a ü - for their style grade.

Most assignments will be programs. For programs, the source code (.java file(s)) must be turned in; no credit will be given for turning in a compiled, executable, or other file. The source code must be a simple text file (with the .java extension) that can be compiled and run; word processing files will not be accepted.  If you are using CodeWarrior do not submit the .mcp file.  Always submit the .java file or files.

Quizzes Short 20 point unannounced quizzes will be given periodically throughout the term in discussion sections and lecture. The lowest of these quizzes will be dropped.

Grade Disputes and Corrections: If you are dissatisfied with a grade you receive on an assignment or test, you must submit your complaint briefly in writing or by email, along with supporting evidence or arguments, to the teaching assistant or USL for your small section within two weeks of the date the teaching staff first attempted to return the assignment to you. For assignments returned via your turnin directory, this will be the date on the returned graded file. Complaints about grades received after this date will be considered only if their are extraordinary circumstances for missing the deadline.

Collaboration. You are encouraged to study for tests together, to discuss methods for solving the assignments, to help each other in using the software, and to discuss methods for debugging code. However, the code that you submit for a grade shall be your own work; you may not share code or copy code from another student or any other source.  If you turn in someone else's code you will be subject to the University Rules and Penalties for Cheating. My punishment for cheating on an exam or assignment is the assignment of an F as the course grade.

Extra Credit:  There are no opportunities for extra credit in this class.

Other Policies

Email. Students are encouraged to discuss any matter with the teaching staff in person, typically after class or during lab or office hours. However when that is inconvenient, communications between students and the teaching staff are most conveniently handled by email. In email, include your name, your section number, and the number of the assignment or exam in question. Email accounts are available free to students from the university and commercial sources; see the page on email accounts.

Adding and Dropping the Course:  

The academic calendar for each semester is provided in the front of the current Course Schedule. The following information is generally true during each new long semester. Summer courses are subject to a somewhat compressed version of this procedure  (Note class days, refer to University class days, not course class days):

Adding the Course

  1. Before the 12th class day: During the first four (1-4) class days, students may add courses using ROSE, the Registrar's Online Services, or TEX, the Telephone Enrollment eXchange. To add a class during this period, the student must go to the department offering the course. Permission to add a class is at the discretion of the department. In some colleges and schools, the approval of the student's adviser and dean are also required.
  2. After the 12th class day of a long-session semester the student may add a course only in rare and extenuating circumstances as approved by the student's dean and the chairman of the department offering the course.

Dropping the Course 

  1. Before the 4th class day:  During the first four (1-4) class days, students may drop courses using ROSE, the Registrar's Online Services, or TEX, the Telephone Enrollment eXchange with no academic penalty.
  2. 5th class day to the 12th class day:   To drop a course during this period, the student must have the approval of the chairman of the department offering the course. In some colleges and schools, the student must also have the approval of his or her adviser and dean; each student must consult the regulations of his or her college or school. If the student is allowed to drop the course, the course is deleted from his or her academic record and applicable fees are refunded. Note, approval during this period is normal and routine.
  3. 13th class day to the 20th class day (the end of the fourth week) To drop a course during this period, the student must have the approval of his or her dean. In some colleges and schools, the approval of the student's adviser is also required; each student must consult the regulations of his or her college or school. If the student is allowed to drop the course, the symbol Q appears on his or her academic record to indicate a drop without academic penalty. No refund is given.
  4. 21st class day to the mid semester deadline.  To drop a course during this period, the student must have the approval of the instructor, the student's adviser, and the student's dean. If the instructor approves the drop, he or she will assign the symbol Q or a grade of F. The symbol Q indicates that the student has a grade of at least C in the course, that no grade has yet been assigned, or that no academic penalty is in order because of the student's performance and the nature of the course. In compelling circumstances, the student's dean may assign the symbol Q for nonacademic reasons.|
  5. after mid semester drop deadline. After the mid semester deadline for dropping courses in a long-session semester, an undergraduate may not drop a course except with the approval of his or her dean and then only for urgent and substantiated, nonacademic reasons.

Translation: Adding the course after the 4th day is hard, but not impossible. Adding the course after the 12th day is almost impossible. Dropping the course with a Q up to the mid semester deadline is fairly painless and I will always, always, always give a Q if a student requests to drop the course. After the mid semester deadline it becomes almost but not quite impossible to drop the course. I always, always, always, recommend a grade of Q for these post mid semester drops due to substantiated non academic reasons. If you drop after the 12th class day with a Q you are still considered to have taken the course once under the CS department's limited course repetition rules

Thursday, January 17 4th class day. Last day to add a class using TEX or ROSE.
Thursday, January 24th 8th class day. Deadline (4:00pm) for seeing a CS Academic Advisor to resolve problems concerning prerequisites or repeated enrollment.
Wednesday, January 30th  12th class day. Last day to add a class except for unusual circumstances.
Last day to drop a class for possible refund.
Last day a course can be dropped without counting as an enrollment under the CS department's limited-repetition rule.
Monday, February 11 20th class day. Last day to drop a class with an automatic Q
Monday, March 25 Last day to drop a class (with a possible F) or withdraw without nonacademic reasons.
Last day to change a class to Pass/Fail.

In addition are the following Computer Sciences Department rules for adding Computer Sciences classes:

On or before the 4th class day

If a CS class is full, or you want to switch sections and the section you want to get into is closed (i.e., full), please note the following:

    • The Department of Computer Sciences does not override seat counts. If a class is full, it's full.
    • The only recourse is to keep trying on TEX, in case someone drops the class.
    • You can monitor class status through UTACCESS and ROSE.

The 5th through 12th class days (late adds)

  1. Go to the Undergraduate Advising Office (TAY 2.126) to speak to an advisor and obtain a late-add slip. You must meet the prerequisites of the class you wish to add. In certain circumstances, advisors may not allow a student to obtain a late add slip (for example, late registration, overloads, scholastic probation, etc.).
  2. Take the late-add slip to the instructor of the class. If the instructor decides it is reasonable for you to add the class, he/she signs the slip. This decision is solely up to the instructor of the class and will not be overruled by the Undergraduate Advising Office.
  3. Return to TAY 2.126 with the signed slip. At that time, an advisor will check for seat availability in the class. Please note: "seat availability" refers to the closing limit for the class, not the number of physical seats in the classroom.
  4. If the class is full, you must return to TAY 2.126 to see an advisor with the signed late-add slip when seats become available. You can monitor seat availability through UTACCESS and ROSE.

The *only* way to add a computer science class during this period is to follow the procedure described above. The instructor cannot add students to his/her class over the seat limit.

The deadline for dropping the course without possible academic penalty is Monday, February 11th. The last day an undergraduate student may, with the dean's approval, withdraw from the University or drop a course except for urgent and substantiated, nonacademic reasons is Monday, March 25th. After the end of the fourth week of class and until this date, a student wishing to drop the course ("Q drop") must get the forms from the Dean of his or her college and ask the instructor to complete the drop form that assigns a Q or an F. After the 24th of October drops are allowed only for substantiated, nonacademic reasons and you must see inquire within your college the procedure to do this. I always honor student requests for a Q up to the deadline on the 25th of March. I do not assign X's except in cases that strictly meet the guidelines of the Academic policies and procedures section of the general information guide: 

Approved uses of the symbol X. An undergraduate student may, with the approval of the instructor, be assigned the symbol X in a course for one of the following reasons:

  1. Missing the final examination: The student is unable to take a final examination because of illness or other nonacademic reason. A physician's statement or other satisfactory verification is required.
  2. Incomplete classroom assignment: The student has not been able to complete the required class or laboratory assignments for a reason other than lack of adequate effort. A request for temporary delay of the final course grade because of incomplete class or laboratory work can be made only if the student has a passing average on the class work or laboratory work already completed and has taken and passed the final examination (unless a final examination is not given in the course or the student is unable to take the examination for reasons indicated in the previous paragraph).
  3. Reexamination petition: Only a student who has a grade average of at least C on all class work and laboratory work submitted before the final examination may request a temporary delay of the final course grade because he or she failed the final examination, which is the examination given during the final examination period as printed in the official examination schedule. If the petition is denied by the instructor, the student's final course grade will remain as originally determined. If the petition is granted by the instructor, the grade on the reexamination will be substituted for the grade on the original examination in determining the student's final course grade, provided the student earns at least a C on the reexamination. If the grade on the reexamination is less than a C, a final course grade of F must be recorded.

Improper uses of the symbol X. A student must not be assigned a temporary delay of the final course grade symbol to permit (1) time to prepare coursework in addition to that assigned the entire class, (2) time to repeat the entire course, or (3) opportunity to raise a grade for any reason other than the approved reasons cited above. The temporary delay of final course grade symbol is not issued for student or faculty convenience; it may be issued for the reasons cited above only in the case of compelling, nonacademic circumstances beyond the student's control.

Religious Holy Days: A student who is absent from an examination or cannot meet an assignment deadline due to the observance of a religious holy day may take the examination on an alternate day, submit the assignment up to 24 hours late without penalty, or be excused from the examination or assignment, if proper notice of the planned absence has been given. Notice must be given at least fourteen days prior to the classes scheduled on dates the student will be absent. For religious holy days that fall within the first two weeks of the semester, notice should be given on the first day of the semester. It must be personally delivered to the instructor and signed and dated by the instructor, or sent certified mail, return receipt requested. Email notification will be accepted if received, but a student submitting such notification must receive email confirmation from the instructor. A student who fails to complete missed work within the time allowed will be subject to the normal academic penalties.

Scholastic Dishonesty: Students who violate University rules on scholastic dishonesty in assignments or exams are subject to disciplinary penalties, including the possibility of a lowered or 0 grade on an assignment or exam, failure in the course, and/or dismissal from the University. Representing the work of others as your own will be considered academic dishonesty and will not be tolerated. Such dishonesty harms the individual, all students, and the integrity of the University, and policies on scholastic dishonesty will be strictly enforced. My punishment for cheating on an exam or assignment is the assignment of an F as the course grade.

Disability Related Needs: Please notify me of any modification/adaptation you may require to accommodate a disability-related need. You will be requested to provide documentation to the Dean of Students' Office in order that the most appropriate accommodations can be determined. Specialized services are available on campus through Services for Students with Disabilities, 471-6259 or 471-4641 TTY.


To the CS 307 home page