CSCE 146 -- Spring 2009

Sections 1, 2, 3

Introduction to Algorithmic Design II

Duncan A. Buell
Professor and Chair
Department of Computer Science and Engineering
University of South Carolina
Columbia, SC 29208
3A01 Swearingen Engineering Center
Email
803-777-2880(voice)
803-777-3767(fax)
Office hours: 8:30-9:30am T-Th and by appointment
grizzlefarb

Basics

  • Class time: 9:30-10:45 am T-Th, Room B213 Main Street
  • Section 1 Lab times: 8:00-9:55 am W, Room 1D15 Swearingen

    CLOSED!!!!! Due to the budget cuts we will be combining the three labs into two, and the lab that will disappear is the section 1 lab because its enrollment was smallest.

  • Section 2 Lab times: 10:10am-12:05pm W, Room B205 Main Street

    Note that this is not the usual 1D11/1D15 venue. To accommodate the larger labs, we had to move them to a different location.

  • Section 3 Lab times: 12:20-2:15 pm W, Room B205 Main Street

    Note that this is not the usual 1D11/1D15 venue. To accommodate the larger labs, we had to move them to a different location.

  • Office hours: 8:30-9:30am T-Th and by appointment. I am almost always "around" and although much of my schedule is driven by appointments made by other people, it is a rare day when I am not in the office.
  • This URL
  • My home page
  • The official syllabus for this course.
  • Teaching assistants:
    Sections 1, 2, 3: Aaron Liu (liuz),
    Sections 4, 5: Shamik Roy Chowdhury (roychowd),
    in domain cse.sc.edu)
  • This is the Moodle site for this course. There will be a lot of information put up on the Moodle site. Unlike this web page, which is available to all and sundry around the world, the Moodle website will be password limited to students in this class. UPDATE: It is no longer necessary that a VPN connection be established to the college in order to get to Moodle.

Caveat

This page will be changing throughout the semester. You are responsible for reading this page on a regular basis, which means at least as often as once per class/lab event.

NEW ITEMS

The last three changes to the web resources for this course will be listed here. These will consist of changes both to these pages and to the stuff available on the Moodle website. You should be able to check here, then, that you are up to date.
  • 18 February 2009: I have updated both the website and the Moodle site so that the assignments and labs are up to date at least through the week following spring break.
  • 22 January 2009: It is no longer necessary that a VPN connection be established to the college in order to get to Moodle.
  • 17 January 2009: Updating has been done to the teaching assistant information as well as to the information on the student who is the Supplementary Instruction leader.

Rules, expectations, etc.

  • You are expected to read this website regularly and carefully. You are responsible for the material in this website, including rules and scheduling information.
  • You are expected to know who I am, how to get in touch with me by email, and how to find my office in person. (See the first point above.) If you google "duncan buell" then my USC web page is what comes up first on the list, so there is no excuse for someone in a computer science class not being savvy enough to find my contact information.
  • You are expected to turn in assignments on time to the dropbox. When you turn things in to the dropbox, you should check that in fact the material has been stored as it should be. You are also required to print out and sign the web page together with a printed version of your name, properly timestamped, that says that the dropbox has accepted your submission, and submit that in class.

    This is your "receipt" for submissions, and without this receipt I will not accept as an excuse that the dropbox has moved your assignment elsewhere. Include both your name printed and signed so we know whose paper it is. If for some reason the dropbox is not functioning, you should immediately send me an email with your assignment attached. This email must have a timestamp before the dropbox deadline. Late assignments will be penalized. (See the first two points above.)

    These papers should be submitted at class time when the assignment is due for the homework assignments and at the next (Thursday) class time after the lab for the lab assignments. They should contain a screen shot of the dropbox with your files named, your name printed out, your section number, and your signature.
  • You are expected to read your email as indicated below.
  • You are expected to attend class. Attendance will be taken, and it will affect your grade. See below for details. The Student Success Center has found that (to no one's great surprise) your GPA is likely to improve by a full one-half point simply if you attend class.
  • This course has a prerequisite of a grade of C or better in MATH 141 and CSCE 145.
  • You should read the material before coming to class. If we have covered all of a particular section or chapter, you should take the initiative on your own to read the next section or chapter.

Email

There is a CSE department email alias for CSCE 146, namely CSCE146-001, CSCE146-002, CSCE146-003, in the domain lists.cse.sc.edu. This alias sends email to the CSE departmental login userid@cse.sc.edu that you get with this course. A mass mailing to the entire class will be done through these mail aliases. Actually, any of you can send mail to this alias.

The mail alias of the previous paragraph sends mail to the CSE departmental login that you get with this course. You are responsible for reading mail sent to this account and the cec.sc.edu account of the college's mail server.

Texts, References, and Links to Useful Information

Tests and Assignments

The midterm exam will be on Tuesday 17 February 2009. This will allow us to get back the exams during the lab sessions the next day or in class on the Thursday following. The last day to drop the class with a "W" grade is Monday 23 February.

The second midterm exam is tentatively scheduled for 7 April 2009. The date of the first mid-term is fixed to fit with the magic day for "W" grades, but no such constraint is placed on the second midterm, so its date might be adjusted one class or two if too many people have other conflicting exams.

Lab assignments will be short programs to be written in class. They must be turned in at the end of the lab time and will not be accepted if turned in later.

Homework assignments are longer programs to be written outside of class. They will be turned in electronically to the departmental drop box, and they must be done individually as your own work.

The exams will be closed book exams.

The final exam will be cumulative.

The homework assignments can be found here.

The lab assignments can be found here.

The Java style guidelines can be found here. This is the rubric on which grading of your programs for style will be based.

The final exam is scheduled for Wednesday, 6 May 2009, at 2:00 p.m.

Schedule

The tentative schedule for labs and homeworks can be found here.

Grading Scheme

Lab Assignments 20%
Lab Tests (2) 10%
Homework Assignments 25%
Tests (2) 30%
Final 15%


Attendance and Grades

It has been found, and should come as no surprise to anyone, that attendance at class correlates positively with your GPA. I will be taking attendance. For every three (3) unexcused absences, your grade will be lowered by one full letter. The judgement as to accepting the excuse is mine. Illness, family emergencies, and such are excusable. Returning home late from Myrtle Beach to avoid the traffic jam is not an excusable absence.

Note also that the exams count a total of 45% of your grade. Your grade is heavily dependent on your lab assignments and homework assignments. What this means is that there is in the grading system a strong incentive for you to keep up to date with assignments and to come to class and labs. It is NOT possible in this class to slack off through the semester and then somehow make up the difference with a strong final. The final exam just doesn't count enough to pull up your grade, not even when combined with the two regular exams. You will need to get reasonable grades on the labs and on the homeworks in order to do well in this course.

Unless otherwise indicated, there are no bonus points that can be earned in this class. If you want to total up points so as to get a good grade, then do the labs and homeworks and do well on the exams.

Academic Support, Supplemental Instruction, and ACE

Some of you may find this course difficult. Some of you may also be enrolled in Math 142 and find that course to be difficult. If so, you are encouraged to to consult the academic support offices, including the offices that help with tutoring, supplemental instruction in CSCE 146 and MATH 142, and the Academic Centers for Excellence. Supplemental Instruction (SI) is offered for this course and provides you with the opportunity to attend 3 study sessions per week. SI sessions are facilitated by Brad Hanna, an undergraduate student who has taken this course and excelled in the course material. Your SI leader will facilitate a discussion and activities that encourage you to practice, discuss, and ask questions about the most recent lecture material. All SI sessions are held in the Student Success Center, Thomas Cooper Library. You can find the days/times for your SI leader's sessions at the supplemental instruction website, The Department of Computer Science and Engineering has specifically paid the cost of a Supplementary Instruction person for this semester, who is Brad Hanna. This is a resource you should strongly consider using if you are having trouble in the class.

Also, if in fact you find this material easy, you should consider becoming a tutor or offering to work for the Academic Support people. My understanding is that they are always looking for good people in these courses. They will actually pay you money. And as anyone who has ever taught will say, you never really learn a subject until you have to teach it to someone else.

Version Control

Everything we will use in this course either comes with the textbook or is free and available on the web for download. However, things are are available for download tend to change versions on a regular basis.

We do not believe there will be functionally different versions of software available during this semester, but if you download tools for your home computer it is possible that you will be downloading a different version from that which is used in the computer labs.

For the most part, the things that will different from one version of Eclipse to another or from one version of Java to another are not things you will notice in this class.

Java versions are labelled (and no, this makes no sense) 1.3, 1.4, 5.0, and then 6.0. The key to Java is that you have at least version 5.0 or higher. As of the day before classes started, the most recent version is Update ? to Java 6. You will notice that the Java libraries in the labs are labelled 6.0.

Similarly, we are currently running Eclipse version 3.? in the labs. The most recent version is 3.3, available as of 25 June 2007. We take a risk-averse approach to computer labs, in that we are unlikely to install the most recent version until it's been used and tested (by someone else). I personally am running Eclipse 3.? on my three computers (home linux, office desktop, and laptop). You will see different versions, but I cannot imagine that you'll notice any difference from one version to the next on the kind of things you'll be using in this class.

Deadlines

Assignments will have due dates. Unless otherwise specified, the usual deadline will be that assignments are to be sent to the drop box by midnight of the day the assignment is due, and the drop box will be closed as of midnight. Late assignments will not be accepted without prior arrangement to accommodate truly extraordinary circumstances.

No makeup quizzes will be given.

Notes and Slides

(Caveat: any lecture notes I prepare may well change during the lecture process, and if you print them too early or too often you may use up your print quota.

Academic Honesty

Assignments and examination work are expected to be the sole effort of the student submitting the work. Students are expected to follow the University of South Carolina Honor Code and should expect that every instance of a suspected violation will be reported. Students found responsible for violations of the Code will be subject to academic penalities under the Code in addition to whatever disciplinary sanctions are applied.

There seems to be a widespread misunderstanding of the concept of "your own work." In addition to the USC Code, some good sources of text for what is or is not acceptable behavior are the academic honesty policy statement from Harvey Mudd College, the policy statement from Professor Steven Huss-Lederman at Beloit College, and the text of part of the collaboration policy statement from MIT. You can expect your programming assignments to be checked against those turned in by other members of the class as well as code that I can find on the web. I expect the correlations between your work and that of others to be minimal.

I can also offer an operational definition of what you can do and of how you can distinguish "learning from a group discussion" and "turning in someone else's work." If, after having participated in a group activity, you can walk away, put the books down, have lunch, and then come back afterwards to re-create from your own head the material and techniques you discussed as a group, then you can legitimately say that you have learned from the group but the work you turn in is your own.

On the Proper Use of Computing Resources

Students are expected to be aware of the university policy on use of computing resources, including the Student Guidelines for Responsible Computing, as well as the college and departmental policies on proper use of computing resources. Every instance of a suspected violation will be reported. Students should be aware that neither the instructor nor the department are responsible for making alternative arrangements should improper use leading to revocation of access to departmental or college resources make it impossible for you to complete the programming assignments on time.

On the Nature of Academic Work

Students might also find relevant an essay from a professor at Georgia Tech.

Swearingen Engineering Center | Columbia, SC 29208 | 803.777.2880 | web@cse.sc.edu