CS1083 - Introduction to Computer Programming II in Java

Course Outline - Winter 2018

Prerequisite CS1073 (with a grade of C or higher)
Lecture Time T&Th 10:00 - 11:20 a.m.
Lab Time Tues. 1:00 - 2:20 p.m.
Sections FR01B FR02B FR03B
Lecture Rooms Head Hall
Room H302
Head Hall - Gillin Hall Wing
Room GW-C127
Room IT317
Lab Locations ITC CS
Room D414
Room D415
Head Hall - Gillin Hall Wing
Room GW-C112
Tutorials Th 1:00 - 1:50 p.m. in GW-C127 Th 1:00 - 1:50 p.m. in H135 TH 1:00 - 1:50 p.m. in HC11
Instructors David Bremner
Office: GW-C115
Email: bremner@unb.ca
Leah Bidlake
Office: GW-C107
E-mail: leah.bidlake@unb.ca
Eric Aubanel
Office: GW-C116
Email: aubanel@unb.ca

Textbook Java Software Solutions: Foundations of Program Design: Ninth Edition, by John Lewis and William Loftus, Addison-Wesley, 2017
Course Web Site Additional course information, including the assignments and labs, is made available via Desire2Learn (lms.unb.ca).

Marking Scheme 10% - Lab Exercises
10% - Assignments
20% - Midterm Exam
60% - Final Exam
Lab Exercises

The course will focus on the principled development of several small software systems, meant to illustrate the concepts covered in the lectures and/or in the text. This will be done through lab exercises and assignments.

The due dates (and times) for lab exercises and assignments are strictly observed. Unexcused late lab exercises and assignments will not be accepted. Therefore, you must plan your time wisely; being "too busy" is not accepted as an excuse. Equipment problems also do NOT constitute valid excuses; there are many computers available to each of you (see Computing Resources below).

All (on-time) lab exercise and assignment submissions will be graded and will count toward your final grade in the course. Any lab exercise or assignment you don't submit will be assigned a grade of zero. It is highly recommended that students complete all lab exercises and assignments, as these are the most important learning methods for this course. 

Lab exercises will generally be completed in pairs, using pair programming. Pair programming requires two programmers to work together at a single workstation to solve a programming problem. You will work on these lab exercises during the scheduled lab time for your section of CS1083 (see above). If you do not attend, you will receive a grade of 0 for that lab. Further instructions, including guidelines and selection of pairs, will be posted in Desire2Learn.


In addition to the labs, there will also be a series of assignments. These will also normally be due every other week.

Attendance at labs is mandatory, both for weeks when there is a pair programming lab (see Lab Exercises above) and when there is an assignment due. Failure to attend the lab session will result in a grade of 0. However, if you have submitted the assignment before the lab period, for weeks when an assignment is due, then attendance at the lab is not necessary.

Any student who fails to submit 3 or more assignments / lab exercises will receive at most a grade of D for the course.

Unless otherwise indicated, what you pass in must always be your own work. Students are not to discuss assignment solutions with one another prior to the assignment due date; all questions should be directed to the course instructors, lab assistants or peer mentor tutors. Incidents of plagiarism and other academic offences will be reported.

As suggested by the UNB Fredericton Senate, we are including here a copy of the university's regulations with regards to plagiarism:

A. PLAGIARISM (from the UNB Undergraduate Calendar)

Plagiarism includes:

  1. quoting verbatim or almost verbatim from a source (such as copyrighted material, notes, letters, business entries, computer materials, etc.) without acknowledgment;

  2. adopting someone else's line of thought, argument, arrangement, or supporting evidence (such as, for example, statistics, bibliographies, etc.) without indicating such dependence;

  3. submitting someone elseís work, in whatever form (film, workbook, artwork, computer materials, etc.) without acknowledgment;

  4. knowingly representing as one's own work any idea of another.

NOTE: In courses which include group work, the instructor must define and warn against plagiarism in group work. Unless an act of plagiarism is identified clearly with an individual student or students, a penalty may be imposed on all members of the group.

Penalties for Deliberate Plagiarism

In a case of deliberate plagiarism, the penalties are:

First Offence: If the student does not appeal, or if, on appeal, the Committee upholds the instructor's decision:

  1. A notation will be placed on the student's transcript of academic record concerning the academic offence. The length of time the notation appears on the studentís transcript of academic record is to be decided when the penalty is imposed and will depend on the severity of the offence.

  2. The student may be required to submit a satisfactory and genuine piece of work to replace the one involving plagiarism. If the assignment is not resubmitted or is unsatisfactory, the student will receive a grade of F (zero) in the course. NOTE: If this penalty is assessed, the period of time allowed for the submission of the work will be determined by the Registrar in consultation with the faculty member making the charge, and, where appropriate, the Committee.

  3. The student will receive a grade of F (zero) on the piece of work and, depending on the severity of the offence, may receive a grade of F for the course.

  4. Other penalties as outlined in penalties for Other Academic Offences may be imposed.

Subsequent Offence: In cases where the Committee considers that the student has plagiarized again:

  1. The student will receive a grade of F in the course and a notation of the academic offence will appear on the student's transcript of record. The length of time the notation appears on the student's transcript of academic record is to be decided when the penalty is imposed.

  2. Other penalties as outlined in penalties for Other Academic Offence may be imposed.

For further information on procedures for dealing with cases of plagiarism, students should refer to the regulations in the UNB Undergraduate Calendar.

Midterm Exam

A midterm exam will be held in class on Tuesday, February 13th during our regular lecture time. This date is firm so please do not schedule any other activities for this time. Make-up midterm exams will not be given; if the midterm exam is missed for good reason (e.g. if you provide a proper medical excuse), the weight of the midterm will be transferred to the final exam.

The midterm exam will be closed book; no supplemental materials will be allowed, including calculators, translators, etc. In addition, you MUST bring a photo ID to the exam (UNB photo ID is preferred, but another form of photo ID will suffice, such as a passport or driver's license).

Final Exam The final exam will be scheduled by the Registrar's Office. It will also be a closed book exam. Again, remember to bring a photo ID with you. Note: You must pass the final exam to receive a course grade exceeding D.

Policy Regarding Technology in the Classroom

In CS1083, we strive to create an environment that fosters student learning. To help all students focus on the material being presented in class we have instituted a No Technology in the Classroom Policy. This means that students are not permitted to use any electronic devices during the CS1083 lectures. This includes (but is not limited to): laptops, cell phones, mp3 players, etc. If you do not comply, you will be asked to leave and that lecture will count as an absence (see the policy below regarding class attendance.)

Please note: Exceptions will be made for students with disabilities who require electronic aids. Please discuss any accessibility issues with your instructor at the start of the term.

Policy Regarding Class Attendance

Data from past terms shows a strong correlation between class attendance and performance. Therefore, we have decided to enforce a Mandatory Lecture Attendance Policy in this course. Attendance will be taken at each lecture. Students who miss 5 or more lectures over the term will receive a course grade of at most a D. (This means that you are allowed only 4 unexcused absences).

If a lecture must be missed for good reason (e.g. if you have a proper medical excuse), you must contact your instructor ASAP.

Computing Resources

Faculty of Computer Science LINUX Accounts: A computer account for the Linux workstations in IT-D414, IT-D415 and GW-C112 (where CS 1083 labs are held) is provided to each CS1083 student. If you did not use these machines last term, you must reset your password before you'll be able to log in to a Linux machine. To do this, you can follow the instructions on the Linux machine login screens, or go to the following website:
and type in your regular UNB login id and password. This will set your Linux password to be your current UNB password. (Aside: If you later change your UNB password, these will become out-of-sync, as the Linux password will not be automatically changed when your general UNB password is changed. However, if you wish to keep these synchronized, you may return to the afore-mentioned page at any time to sync your Linux password to your UNB password.)

Swipe Cards: All students who are registered in CS1083 will also be given security door access to IT-D414, IT-D415 and GW-C112. To enter these labs, you must use your UNB UCard. (The swipe card readers by the doors read the magnetic strip on the card.)

Other Options: While it is unlikely, there may be times when IT-D414, IT-D415 and GW-C112 are all unavailable (e.g. all the machines may be in use). Therefore, we recommend that you also acquaint yourself with the other computing resources that are available. Specifically:

  • Gillin Hall rooms C127A and D124A are smaller (spill-over) Linux labs. Like IT-D414, IT-D415 and GW-C112, these labs are owned & managed by the Faculty of Computer Science and the set-up will be the same (it's simply a smaller room than the others).
  • A computer account on the general UNB network is also provided to every UNB student. It is possible to do your assignments on the Windows computers in the ITS Open Labs (as the Java compiler, interpreter, appletviewer, etc. are installed there).
  • Alternatively, you may use your own computer. You will need to download and install the JDK from Oracle, and use a text editor of your choice. Note: Working at home is entirely optional (since there are adequate computer facilities on campus to accommodate all of you). Therefore, it is NOT the responsibility of the course instructor, lab assistants or tutors to provide technical support for your personal computer. (That said, if our lab assistants and tutors are not busy answering other questions during designated help times, they will likely be willing to provide some assistance with Java installation/set-up on students' laptops.)
  • Regardless of what computer you choose to use, always keep at least one back-up copy of all your work (e.g. copy all your files to a USB key, CD, cloud drive (e.g. Dropbox), etc.).

    Extra Help

    The instructors welcome your questions during class (all students in the class tend to benefit from this). In addition, there will be weekly tutorials with your CS1083 instructor. If further (one-on-one) time with your instructor is required, see him/her after class to set up an appointment.

    Student lab assistants will be on duty in IT-D415 during designated times to answer questions regarding Java, Linux, etc. (Lab Assistant hours will be posted outside IT-D415 and in Desire2Learn.) The Lab Assistants' job is NOT to do your assignments and labs for you. They will not simply give you the answers; instead, they will assist you in overcoming stumbling blocks along the way.

    In addition, the Faculty of Computer Science has organized a Student Success Centre for students taking our entry-level courses. Tutors will be available in the Centre (IT-D405 & IT-D407) during specified timeslots to provide group tutoring to students in CS1083 (and other foundation courses). More information on this Centre will be posted outside IT-D405/407, and announcements will be made in class.

    Students should make every effort to take advantage of these opportunities for extra help before emailing the instructors or visiting them in their offices.

    Miscellaneous As noted above, attending lectures, labs and tutorials is expected and VERY important. Students are responsible for all class notes, announcements, etc.

    Please make every attempt to be on time for all lectures and labs.

    Also, every student should check both their UNB e-mail account and Desire2Learn email regularly; the instructors may sometimes communicate with students via e-mail. (Class cancellation notices are also typically sent to students via email.)

    Save your returned midterm, assignments and labs until the final course grade has been received. Report grading errors to your instructor immediately.

    Maintained by Eric Aubanel.