If you wish, you may download a printable version of the Syllabus.
What we will find is that writing a ``good'' program is not as simple as starting with a correct program and then improving it. Instead, the quality of a program is most determined by key thoughts and decisions which take place long before the first line of code might be written. Relevant issues include the choice of data structures which are used to organize all of the information within a program, and the structure and level of generality which allow components of a program to be better maintained, reused, and adapted.
The material in the course will be reinforced through laboratory work, significant programming assignments in Java, as well as written homework assignments and in-class exams.
Time: | Tuesday/Thursday, 6:00-7:15pm |
Place: | Damen Hall 735 (Lake Shore Campus) |
The labs:
Each enrollment section of the course includes a 50 minute lab each
week. This lab is mandatory and will be a part of your final grade.
Time: | Tuesday, 7:25-8:15pm |
Place: | Damen Hall 342 (Lake Shore Campus) - please note the room change! |
Copies of that text are available both at the Barnes and Noble campus bookstore, as well as Beck's Bookstore, or various online book vendors. Please notice that we are using the second edition of the text, with a brown cover (the first edition had a white/yellow cover). The web site for the textbook includes a good deal of helpful information. Included is source code for most examples from the text, some cool applets for a few of the algorithms we study, copies of slides that they use in coordination with many chapters, and hints for some homework questions!
In addition to the one required book, the following list contains many other useful sources for information both about programming in Java, as well as about algorithms and data structures in general.
The web page contains some information (e.g. solutions, submitted assignments, individual grades) which is more sensitive and therefore which will be available to students in the class only after they have identified themselves properly. To gain access to these parts of the web page, a student must first complete the following online questionnaire, creating a unique identity and password.
Details of the procedure are discussed at http://www.cs.luc.edu./~mhg/comp271/submit/.
Letter grades will be based on each student's overall percentage of awarded points according to the above formula.
Any modification to this scale at the end of the course will be in favor of the students. That is we may later decide to award an A to a student who is slightly below the above cutoff, but we certainly will not take away an A from someone who is just above the cutoff.
When it comes to learning and understanding the general material covered in class or practice problems, you may certainly use other references and you may have discussions with other students in this class or other people from outside of this class. Similarly, you are free to have conversations and to use other materials regarding the general syntax and use of the Java language.
However, when it comes to work which is submitted for this course, all such work must be entirely your own. You are in no way to discuss such assignments, nor are you to use or or search for direct or indirect assistance from any outside references, including but not limited to:
Any violations of the general Loyola policy or the policies outlined in this handout will be dealt with severely. Penalties will apply as well to a student who is aiding another student. Any such violations will result in a minimum penalty of a zero on the given assignment which cannot be dropped, and severe or repeated violations will result in an immediate failing grade in the course. Furthermore all incidents will be reported in writing to both the department and the appropriate dean.
Similarly, labs are scheduled at specific, required times. You must attend the lab and turn in your results at that time, in order to receive credit. No credit will be give for ``late'' labs without advanced arrangements between the student and the TA.
For homework and programming assignments, we wish to allow students to continue to work comfortably beyond the official deadline when a little more time will result in more progress, while at the same time discourage students from falling several days behind pace and jeopardizing their success on future assignments. % Our solution is the following exponentially decaying late formula (some have suggested that we should offer extra credit to anyone who fully understands this formula).
We will consider an assignment submission ``complete'' whenever any part of the assignment is last submitted or modified. Any assignment which is not complete promptly by its due date and time will be assessed a penalty based on the formula S = R * e-t/6, where S is the grade given, R is the grade the work would have gotten if turned in on time and t is the amount of time (in days or fractions thereof) the work was late.
Examples:
The above policies will be waived only in an ``emergency'' situation with appropriate documentation.
For those who do wish to use our department labs as a regular work place, this account allows use of machines in our department labs in rooms DH340, DH341 or DH342. With each account, a student is given a home directory (H:\MyHome) in which files can be stored throughout the course. Information on the lab policies, including a schedule of open hours, is available at www.cs.luc.edu/technology.html.
Finally, each user can send and receive email from this account. As an example, a student with User ID ``aturing'' receives email sent to aturing@cs.luc.edu.
Most of the software available on our department network is also available on the IS network. One disadvantage of the campus-wide network is that students must save their files to a disk.
To faciliate CS students working in IS labs, we have worked with IS to allow students access to the CS department NT file system from any of the IS labs at Loyola. This allows you to work in an IS lab, while saving and loading files directly to your Computer Science home directory. (Note: the drive letters used will not be mapped to the same letters as on our department machines.) Instructions can be found at: www.cs.luc.edu/lab/faq/atIT/itlabs.html