Tuesday 10:30 - 11:30 AM
Wednesday 12:00 - 1:00 PM
or by appointment
Undergrad Lab (NEB 225)
Monday: 1:00 - 2:00 PM
Wednesday: 3:15-5:15 PM
Thursday: 10:15-11:15 AM
Undergrad Lab (NEB 225)
Monday: 10:00 AM - 12:00
Friday: 2:30 - 4:30 PM
Students should have at least one semester of programming experience (two semesters is even better) with either Java or C++. An overview of the Java essentials will be provided at the beginning of the course, but students with less Java experience are expected to familiarize themselves appropriately with Java during the first two weeks. This course is a prerequisite for all more advanced programming courses.
Goodrich and Tamassia. Data Structures and Algorithms in Java, 3rd edition. John Wiley and Sons, Inc. 2004. ISBN 0-471-46983-1.Optional Java texts:
Arnold, Gosling, and Holmes. The Java Programming Language, 3rd edition. Addison-Wesley. 2000. ISBN 0201704331.
Flanagan. Java in a Nutshell. O'Reillly, 4th edition, 2002. ISBN 0596002831
All of the above apply to this class. For exams, the line is pretty clear: Do not communicate with anyone else or use disallowed matierials during the exams. For programming assignments, you may find the line more fuzzy. It's okay to discuss ideas and concepts with other people, but not to share code. If the programming assignment is designated as a team project, you may only share code with the other members of your designated team. To ensure this, do not look at anyone else's code or communicate direct examples from your own code. If you want to help someone debug a programming problem, do not do it by showing them how your code looks. Avoid stepping through someone's code with them line-by-line, because the tendency will be to fix problems by making the code exactly like yours, or to incorporate identical fixes into your own code. Learn together by discussing ideas of how things should function in various cases.
Computer Science Academic Integrity Code
The strength of the university depends on academic and personal integrity. In your studies, you must be honest and truthful. Ethical violations include cheating on exams, plagiarism, reuse of assignments, improper use of the Internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition.
Academic honesty is required in all work you submit to be graded. Except where the instructor specifies group work, you must solve all homework and programming assignments without the help of others. For example, you must not look at any other solutions (including program code) to your homework problems or similar problems. However, you may discuss assignment specifications with others to be sure you understand what is required by the assignment.
If your instructor permits using fragments of source code from outside sources, such as your textbook or on-line resources, you must properly cite the source. Not citing it constitutes plagiarism. Similarly, your group projects must list everyone who participated.
Falsifying program output of results is prohibited.
Your instructor is free to override parts of this policy for particular assignments. To protect yourself: (1) Ask the instructor if you are not sure what is permissible. (2) Seek help from the instructor or TA, as you are always encouraged to do, rather than from other students. (3) Cite any questionable sources of help you may have received.
Students who cheat will suffer a serious course grade penalty in addition to being reported to university officials. You must abide by JHU's Ethics Code: report any violations you witness to the instructor. You may consult the associate dean of students and/or the chairman of the Ethics Board beforehand. For more information, see the guide on Academic Ethics for Undergraduates (http://www.advising.jhu.edu/ethics.html) and the Ethics Board web site (http://ethics.jhu.edu).
All cases of confirmed plagiarism will be reported to the Student
Ethics Board. In addition to receiving 0 credit for the assignment in
question, you could receive an F for the course and even be expelled
from the university. In addition to
human review, we apply sophisticated software to find cases of
plagiarism among students of the current semester as well as those of
previous semesters. So don't do it.
http://www.cs.jhu.edu/~cohen/CS226/syllabus.htmlThis is the home page for a series of course web pages. Included in these web pages are the course schedule, lecture notes, homework information, etc. Check the pages early and often - I will try to keep the modification dates of the various pages up to date to help you track changes (I will also inform you of important changes during class or via e-mail). All lectures slides which I present with the digital projector will be made available on the course web pages, so you don't have to copy them down (do take additional notes, however). The most current notes will generally not be available until after the lecture, but notes from last year's lecture on the same topic may be available in advance. Any material which I do not present electronically will not be made available electronically, but you will still be responsible for learning the content.