Department of Computer Sciences
University of Texas at Austin

CS 303E - Elements of Computers and Programming (Spring 2004)

Instructor: Shyamal Mitra
Office: TAY 5.116
Office Hours: MW 2:30 - 4:00 PM or by appointment

Unique No. Class Times Class Location Class Key
50705, 50710 TTH 930 - 1030 ESB 333 T2757U128
50720, 50725 TTH 1100 - 1200 ESB 333 R2758Z871

Required Text: Introduction to Java Programming by Y. Daniel Liang, Fourth edition, 2002. Publisher: Prentice Hall

Scope of the Course

Computing is an integral part of all natural sciences and engineering disciplines. Most other disciplines require some familiarity with computers. The Elements of Computing is a series of courses designed to provide non-computer science majors a useful background in the use of computers. CS 303E is the first programming course in this series. In CS 303E we will introduce the student to fundamental principles of computing. We will cover basic computer architecture, basic software components, and computer programming in Java. We will learn problem solving techniques for numerical and scientific problems. No prior programming experience is required but familiarity with personal computers will help significantly.

Unlike the traditional lecture format, our classes will be a venue for solving problems, writing programs, and exchanging ideas. Your attendance to the classes and discussion sessions are mandatory. You have 3 excused absences for the lectures and 2 excused absences for the discussion sessions. We will be using CPS - Classroom Performance System - to make our classes more interactive. We will start using CPS from the week of January 25. You need to purchase a CPS pad and register yourself. Follow the above link for more information. The class key that you need for registration is given in the table above. Be sure to use the right key for the section you have registered in.

Unique No. Discussion Times Discussion Location
50705 F 900 - 1000 RLM 7.120
50710 F 1000 - 1100 ESB 137
50720 F 1100 - 1200 ESB 137
50725 F 1100 - 1200 RAS 218

Mailing List

You are required to join the class mailing list, cs303e@lists.cc.utexas.edu. If you do not have an e-mail account get one as soon as possible. Once you have an account, subscribe to the cs303e mailing list by sending a message from your primary e-mail address to listproc@lists.cc.utexas.edu. No subject is required. The body of the message should include only one line:

subscribe cs303e FirstName LastName

where FirstName is your first name and LastName is your last name. Be sure to send the initial subscription message to listproc@lists.cc.utexas.edu NOT cs303e@lists.cc.utexas.edu. You should get a reply and welcome message from cs303e mailing list within 5 minutes. Save that reply message for later use. The mailing list will be the major communication tool from the teaching team to the class for crucial information and announcements. It may also serve as a discussion forum for questions concerning class material. For that purpose, it will be moderated by a member of the teaching team.

Assignments

There will be homework assignments that will consist of problems from the book or those handed out in class or posted on the web. There will be programming assignments that you can complete in the CS Lab. You may choose to use your own computer to work on these assignments. If you work on your home computer, you will have to download and install the Java Software Development Kit from Sun Microsystems. You will also want an IDE like BlueJ, JBuilder, or JCreator.

The only way to learn programming is to program. Doing the programming assignments is crucial to performing well in class. Assignments will be given almost every week. Each assignment will have a clearly stated due date and time. Assignments start out being easy but get harder over the semester. If you are having considerable difficulty with Assignments 2 and/or 3, please see the Instructor immediately.

The assignments will require a substantial time commitment over several days (an average of 6 hours per week should be expected). Be sure to budget sufficient time to complete assignments before the deadline. The lowest assignment grade will be dropped.

The dropping of the lowest assignment grade is designed to cover all reasons for missing an assignment. This permits grading to start promptly after the submission deadline so that assignments maybe returned promptly. If you do not finish an assignment by the deadline you have a maximum of two days to turn your assignment in. However, there is a penalty of 10 points (out of 100 points) per day. Your assignment is one day late until the midnight of the day after it is due, two days late from then until midnight of the second day.

Specific grading criteria vary on each assignment. However, in general, programs that do not compile correctly on the Elements Lab configuration will receive no more than 80% of the possible points. Other point deductions are given for such things as: incorrect results, missing features, bad solution logic, etc. No matter what configuration of software that you have on your home computer, the assignment that is turned in must run successfully on the Elements Lab configuration in order to be graded.

All assignments must be submitted using the turnin program. The turnin program is installed on machines in the Elements Lab. It may also be down loaded 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 Elements 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 Elements Lab you must follow the procedures and instructions below to turn in the assignment. But whether you can use the turnin program or not, you must make a backup copy of the java source code (i.e. the .java file) on your removable secondary storage device (e.g. a floppy or ZIP disk). This will be necessary in cases where your program gets lost, is corrupted, or if there is some dispute over what was turned in when.

If you cannot get the turnin program to work for you in the Elements 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. For assigned programs, the source code (.java file) must be turned in; no credit will be given for turning in a compiled, executable, or other file. The source code must be a text file that can be compiled and run; word processing files will not be accepted. If you are using BlueJ (or another another IDE) always submit the .java file or files.

Graded Assignments: Assignments submitted via the turnin program are placed in your directory on the turnin 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. Once you have submitted an assignment for a grade, do not delete the submitted file or the returned file from the server. These files are part of your record for the course and must be saved by you in case of a lost file or grade dispute.

Assignment Identification: All assignments must be submitted with the proper header, containing your name (as registered), your unique section number, and the assignment number at the top of the assignment. The format for the header will be specified in the assignment. That specification will over ride any other header specification (e.g. the header description in the documentation for the turnin program).

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 that you turnin the assignment to the correct unique section folder - that is, the section you are currently registered in. Lost assignments are typically caused by turning in an incorrect file name and/or turning a file into the wrong section folder. Assignments, which omit the header or are incorrect in any one or more of these requirements, will have the grade reduced by 5% of the maximum grade.

Tests

There will be frequent pop quizzes in class. There will be two tests and a final examination. The two midterm tests will last 2 hours and will be given in the evening. Make-up exams will be given ONLY for an official UT conflict, and you must submit a written make-up request with proof of conflict to the instructor one week before the tests. The test schedule is as follows:

Grades

Your grade for the class will be determined from the pop quizzes and homework assignments (10%), programming assignments (40%), Test 1 (15%), Test 2 (15%), and Final (20%). There are no extra credit projects to improve your grade. Questions concerning test grades should be given to me in writing along with your test within the next class day that the test is handed back. Questions regarding the homework or programming assignments should be first discussed with the TA. If you still have a problem give me a written statement within one week of the class that the assignment was returned. No questions about grading will be considered after these deadlines.

Academic Misconduct Policy

You are free to discuss the course material with your classmates and are encouraged to form study groups for the exams. However, collaboration on homework or programming assignments is not permitted. Helping a friend understand the intent of a homework or programming assignment specification is permitted. Students who work together too closely (e.g. design their solution together) should be aware that this is a form of cheating called COLLUSION and is subject to academic penalties. Penalties for academic misconduct include a failing grade in this course.

The homework, programs, and exams must be the work of students turning them in. University policy (see Dean of Students' policies on academic integrity) will be followed strictly.

Acts that exceed the bounds defined by the approved collaboration practices will be considered cheating. Such acts include:

We urge everyone in the class to take appropriate measures for protecting one's work. You should protect your files, homework solution sheets, etc. as deemed reasonable.

Studying for tests together is permitted and encouraged. Please come talk to us if you are unsure about how to work together with your friend in a legal, helpful manner. Remember, it is always ok to "work together" with your professor or TA!

Your Responsibilities for This Class

General Policies

If you are absent from class or examination for the observance of a religious holy day you may turn in in your assignment or take the examination on an alternate date provided you have given me written notice fourteen days prior to the class absence. For religious holy days that fall within the first two weeks of class notice must be given on the first class day.

Students with disabilities who need special accommodations should contact the Services for Students with Disabilities (SSD) Office (471-6259 or 471-4641 TTY).