601.108.01-03: Intro Programming Lab (for Java)


Course Structure

This course is intended for novice programmers, and must be taken in conjunction with 601.107. It may not be audited - attendance and participation is required. The purpose of this course is to give students extra hands-on programming practice with guided supervision. Students will work in pairs each week to develop working programs, with checkpoints for each development phase. You will have 3 different partners throughout the semester. S/U only. (1 credit)

Contact Info

Joanne Selinski

Sections - Fall 2017

01Wednesday6-9 pmMaryland 310 Mariya, Max, Mason, Yoyo, [Channing, Cindy]
02Thursday4:30-7:30 pmMaryland 310 Mariya, Andrew, Bilal, Lucy, Anna, [Channing, Cindy]
03Friday1:30-4:30 pmShaffer 1 Mariya, Katherine, Bryan, Brandon, Joseph, [Channing, Cindy]


This course is offered S/U only. Attendance and participation is mandatory. You will be required take a quiz on Blackboard at the start of each session, and to upload your solutions to Blackboard at the end of each session. Student work will be reviewed during sessions for each completed component of the weekly labs. Students who do not actively participate each week will not pass. If you cannot make your scheduled section one week because of an unavoidable conflict, please make arrangements in advance with Joanne or Mariya to attend a different section that week instead. Post privately for all instructors on Piazza if you need to make a change for a particular week. Email Joanne to request an excused absence. In order to pass the course, you can have at most one unexcused and two excused absences. An excused absence is one that Joanne allows for a valid reason, such as illness, conference attendance, or a religious holiday. Student attendance will be recorded on Blackboard, noting the highest stage s/he completes each week.

Lab Logistics/Computer Use

Students will meet in a computer classroom on campus. JGRASP is available on those machines for program development, and you will be required to use the lab computers since you are working with partners. You may want to get some USB memory sticks for saving files and taking them home with you, particularly since two students will be working together each week. You can also email your files to each other, so that you both have them to upload and for reference after the lab session. You are required to delete your files off the classroom computers at the end of each lab session. Failure to do so is an ethics violation.


Same as for the lecture course.


All work for this course must be done in the lab session, in assigned pairs. You must abide by the Computer Science Academic Integrity Code, as well as the University's Ethics Code.

Computer Science Academic Integrity Code

Cheating is wrong. Cheating hurts our community by undermining academic integrity, creating mistrust, and fostering unfair competition. The university will punish cheaters with failure on an assignment, failure in a course, permanent transcript notation, suspension, and/or expulsion. Offenses may be reported to medical, law or other professional or graduate schools when a cheater applies.

Violations can include cheating on exams, plagiarism, reuse of assignments without permission, improper use of the Internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition. Ignorance of these rules is not an excuse.

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 anyone else's solutions (including program code) to your homework problems. However, you may discuss assignment specifications (not solutions) 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 or 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, TA or CAs, as you are always encouraged to do, rather than from other students. (3) Cite any questionable sources of help you may have received.

On every exam, you will sign the following pledge: "I agree to complete this exam without unauthorized assistance from any person, materials or device. [Signed and dated]". Your course instructors will let you know where to find copies of old exams, if they are available.

For more information, see the guide on "Academic Ethics for Undergraduates" and the Ethics Board web site (http://ethics.jhu.edu).

Weekly Labs

Lab descriptions and solutions will be available here each week after all sections have met. Until then, you will find that the links are forbidden.

Useful Links