Carleton University - Canada’s Capital University Carleton University - Canada’s Capital University Sitemap
Contact SCS
Campus Map
Computer Science Search:
Powered by Google
News & Seminars Future Students Current Students SCS Research People Tech Support
Course Outline for COMP 1406

Carleton University School of Computer Science
COMP 1406
Introduction to Computer Science II
2013 Winter
Preliminary course outline subject to change; last updated on Wed Dec 12 16:01:47 EST 2012

Class Schedule
Classroom: Southam Hall (Theatre B)
Class Times: Tue. and Thu. 2:30pm-4:00pm
Course Website: http://people.scs.carleton.ca/~lanthier/teaching/COMP1406/
Instructor Information
Instructor Office Telephone Email Office Hours
Dr Mark Lanthier 5127 HP 1-(613)-520-2600 x8305 lanthieratsignscs.carleton.ca Tuesday and Thursday 1:15pm - 2:15pm and 4:10pm-5:00pm (from Jan 8th to Apr 10th)
Teaching Assistants
T.A. assignments are not available at this time
Course Description
This is a second course in programming. It covers more advanced object-oriented topics inheritance, encapsulation and polymorphism. You will also learn to define and use various data structures in JAVA. Developing graphical user interfaces that use event handling is also covered.
Topics Covered
Here is a list of the main topics covered:
  • The Java programming language
  • Defining object behavior
  • Class hierarchies, inheritance, java interfaces and polymorphism
  • Graphical User Interfaces
  • The Model/View/Controller paradigm
  • Menus and Dialog boxes
  • Abstract Data Types (Lists, Queues, Deques, Stacks, Sets, Dictionaries)
  • Recursion with objects
  • Exception handling
  • File I/O
  • Network programming
Course Objectives
This course will teach you how to make complete applications in JAVA. It builds on what you have learned from COMP1405. By the end of the course you should have a solid background in programming, having covered all the fundamentals.
Textbook (s)
There is no textbook assigned to this course. Instead, there is an in-depth set of course notes which are available from the CCSS (Carleton Computer Science Society) office which is at the back of room 4139HP.
Laboratory Software
You will be programming using the "Java Development Kit (JDK) SE 7u1" which is available from Oracle. This software is installed on all laboratory computers so if you work at school ... you do not have to do anything tricky. If you work at home, you will probably want to download this free software on your machine there. Go to the following website to download the software:

  1. Go to http://java.sun.com/javase/downloads/index.jsp
  2. If you have a non-MacOS computer, click on the red >>Download button underneath the JDK for the Java Platform, Standard Edition option (DO NOT download the JRE version ... make sure that it is the JDK version). If you have a Mac OS X computer, follow the instructions for the JDK 7 for Mac OS X Developer Preview option instead.
  3. Accept the license agreement by selecting the radio button.
  4. Select the link according to your operating system that you will be using.
  5. Save the file to disk and then run the setup program to install.

You will also need to download the documentation on that site as well by following these steps:

  1. Go to http://java.sun.com/javase/downloads/index.jsp
  2. Scroll towards the bottom of the webpage until you see Java SE 7 Documentation then download it.
  3. Save the file to disk and then unzip the resulting jdk-7-fcs-bin-b147-apidocs-27_jun_2011.zip file. (There are many ways to do this, depending on how your computer is set up. Often you can simply double-click on the file to unzip it. If this does not work, then one way (slow though) is to right click on it, select open, wait, then drag the docs folder onto your desktop). If during unzipping you are asked if you want to replace any files, click A for all.
  4. Put (e.g., drag) the unzipped docs folder into the installed JAVA folder (which should be at C: Program Files Java jdk1.6.0_20) . The docs folder should then be listed there along with the already existing bin, db, include, jre and lib folders.

The above software is simply the JAVA compiler and interpreter (and other tidbits). We will also be using an editor to write/compile/run our JAVA code. The simplest editor is called JCreator LE and it is freeware (yay!). This runs only on windows machines. If you have a MAC, you can use JGrasp instead (available from http://www.jgrasp.org). Below are instructions for installing JCreator. Download it from http://www.jcreator.com/download.htm and make sure to download the freeware version (the second one on the page which at the time of this writing was JCreator LE v5.00 - for Windows 7,Vista and XP), otherwise if you download the "Pro" shareware version, it'll time out after 30 days and then you have to pay for it. The "Pro" version actually has more features and is a little nicer though. You will be asked for your email address and will be sent the link to download the file. The resulting file is jcrea500_setup.exe which you should run. Make sure to download and install the Java SDK and its documentation BEFORE you install JCreator. Follow the instructions to install the JCreator software. The first time you run JCreator, it will attempt to configure some settings. Just click Next, Next, Next and Finish. A start page will automatically open. You can close it if you would like.

Evaluation
Students will be evaluated in this course according to the following measures.

Component Weight Due Date
Tutorials 11% 1 each week starting Monday, January 14th
Assignments 40% 10 at 4% each
In-Class Tests 20% Feb.5 & Mar. 19
Final Exam 29% to be announced
Tutorials
There will be mandatory tutorials in this course which will be counted towards your final grade. You will be assigned 1% of your final grade each time you attend and participate in the tutorial for the full 1.5 hours. While in the tutorial, you must work on the tutorial work provided. You may not work on your assignment in that lab while the tutorial is going on. Also, anyone who is not working on the tutorial must leave the room. Near the end of the tutorial, the TA will make a note of who is working on the tutorial and who is not. If the TA finds that you did not spend your time doing the tutorial work, then you will not get your grade, even if you are there for the full 1.5 hours. Also, you are not allowed to get a hold of the tutorial beforehand to work on it or complete it before your tutorial session. If you show up to the tutorial with it partially or completely done, you will not get your grade. So, to put it simply, come to the tutorial each week, do the work while you are there and then leave. You should plan to stay the full 1.5 hours each week. You MUST attend the tutorial that you are registered in. Tutorial take place in 4155HP. Tutorials will begin on Monday, January 14th (see course website for complete schedule).
In-class Tests
In class tests will be 40 minute closed-book and only cover material discussed since the previous in-class test. Each test must be handed back immediately when completed in order to be graded.
Assignments
There will be assignments in this course which will be available on the course web page. All assignments are counted towards the final grade. Assignments must be handed in before or on the due date and time. NO LATE ASSIGNMENTS WILL BE ACCEPTED. You will be using Carleton's CULearn system to submit your assignments and view your grades throughout the term. For more information about how to do this, please go to http://www5.carleton.ca/culearnsupport/students. Always keep a backup of your work, perhaps on a USB flash drive or by sending yourself an email with your assignment attached. That way you can access your code from anywhere. You should take the time to ensure that assignments are neat, legible and easy to understand. Any instructions required by the teaching assistants (for example any assumptions you made about the assignment) should be clearly indicated on a separate README.TXT file, included with the assignment. Remember, it is YOUR responsibility to demonstrate that you have understood and completed the assignment. A portion of your grade for assignments will be given for the readability of them and for your demonstration that you have completed the assigned tasks. The CULearn system also allows you to view your marks on-line. You should ensure that the posted marks are correct. Any complaints regarding assignment marks should be brought to the attention of the TA who marked it (only if the TA does not address the problem to your satisfaction should you bring the matter to the instructor). This should be done no later than two weeks after the assignment has been handed back in class. After this time, no remarking will be done. Being "sick" on the day an assignment is due is not an excuse for not doing it. You have one or two weeks to do each assignment. Start early and keep submitting partially completed versions. That way, if you get sick, your partially completed version will be marked, and you will not get 0. DO NOT email your assignments to any TAs. If you have problems submitting, it is likely due to the fact that you missed the deadline by a few minutes. You will get 0, despite your hard work. So please, submit at least 15 minutes BEFORE the assignment is due ... consider yourself forewarned. If you are at home trying to submit and you cannot get it to work, again, you will be late with your assignment and it will not be accepted. If ever you receiver special permission to hand your assignment to the instructor directly, zip your code and email it to the instructor immediately (i.e., not the day after it is due). If you are sick for an extended period of time, please inform the instructor (not the TAs) immediately. You will need to have official documentation of illness. At this point, it will be up to the instructor as to how to handle the situation. In regards to the in-class tests, you must attend and write them. If sick, you must inform the instructor via email the day before and you will need official documentation as well. Again, exceptions are only granted at the discretion of the instructor.
Collaboration Policy
Collaborating on assignments is strictly disallowed. You must complete the work by yourself. If you need help, please see a TA or your instructor. Posting assignment solutions on discussion boards before the due date and time is also prohibited.
Undergraduate Academic Advisor
The Undergraduate Advisor for the School of Computer Science is available in Room 5302C HP, by telephone at 520-2600, ext. 4364 or by email at undergraduate_advisor@scs.carleton.ca. The undergraduate advisor can assist with information about prerequisites and preclusions, course substitutions/equivalencies, understanding your academic audit and the remaining requirements for graduation. The undergraduate advisor will also refer students to appropriate resources such as the Science Student Success Centre, Learning Support Services and the Writing Tutorial Services.
University Policies
Student Academic Integrity Policy
Every student should be familiar with the Carleton University student academic integrity policy. A student found in violation of academic integrity standards may be awarded penalties which range from a reprimand to receiving a grade of F in the course or even being expelled from the program or University. Some examples of offences are: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found in the Undergraduate Calendar.
Plagiarism
As defined by Senate, "plagiarism is presenting, whether intentional or not, the ideas, expression of ideas or work of others as one's own". Such reported offences will be reviewed by the office of the Dean of Science.
Unauthorized Co-operation or Collaboration
Senate policy states that "to ensure fairness and equity in assessment of term work, students shall not co-operate or collaborate in the completion of an academic assignment, in whole or in part, when the instructor has indicated that the assignment is to be completed on an individual basis". Please refer to the course outline statement or the instructor concerning this issue.
Academic Accommodations for Students with Disabilities
The Paul Menton Centre for Students with Disabilities (PMC) provides services to students with Learning Disabilities (LD), psychiatric/mental health disabilities, Attention Deficit Hyperactivity Disorder (ADHD), Autism Spectrum Disorders (ASD), chronic medical conditions, and impairments in mobility, hearing, and vision. If you have a disability requiring academic accommodations in this course, please contact PMC at 613-520-6608 or pmc@carleton.ca for a formal evaluation. If you are already registered with the PMC, contact your PMC coordinator to send me your Letter of Accommodation at the beginning of the term, and no later than two weeks before the first in-class scheduled test or exam requiring accommodation (if applicable). After requesting accommodation from PMC, meet with me to ensure accommodation arrangements are made. Please consult the PMC website for the deadline to request accommodations for the formally-scheduled exam (if applicable) at http://www2.carleton.ca/pmc/new-and-current-students/dates-and-deadlines/
Religious Obligation
Write to me with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: http://www2.carleton.ca/equity/
Pregnancy Obligation
Write to me with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: http://www2.carleton.ca/equity/
Medical Certificate
The following is a link to the official medical certificate accepted by Carleton University for the deferral of final examinations or assignments in undergraduate courses. To access the form, please go to http://www.carleton.ca/registrar/forms
Click here for the printable version of the COMP 1406 course outline