Carleton University School of Computer Science COMP 1006 Introduction to Computer Science II 2013 Winter Preliminary course outline subject to change; last updated on Sat Jan 5 22:47:11 EST 2013 Class Schedule Classroom: Tory Building 208 Class Times: Tuesday and Thursday 1:05 pm - 2:25 pm Course Website: http://people.scs.carleton.ca/~mjhinek/w13/comp1006/ 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 such as 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 (time permitting): 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 Prerequisites One of COMP 1005, COMP 1405, SYSC 1005, ECOR 1606. Course Objectives This course will teach you how to make complete applications in JAVA. It builds on what you have learned from COMP1005/1405. By the end of the course you should have a solid background in programming, having covered all the fundamentals. You should also have a basic understanding of data abstraction. 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. The notes are also available here.
Online and Other Resources We will use the following electronic resources for COMP 1006: Course webpage (http://people.scs.carleton.ca/~mjhinek/w13/comp1006/) for course information and announcement/assignment postings. Piazza (https://piazza.com/class#winter2013/comp1006) for communication in COMP 1006. This will be used as the class forum. All course announcements will also be made here. culearn (https://carleton.ca/culearn/) for submitting your assignments and checking your grades. In addition, the following resources may be useful to you the Computer Science Tutorial Assistance Centre (CSTAC), 1170 Herzberg. A drop-in to ask questions about anything related to this this course (and CS in general). the Student Academic Success Centre, 406 MacOrdum Library Laboratory Software You will be programming using the "Java Development Kit (JDK) SE 7u10" 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. 2. 3. 4. 5. Go to http://www.oracle.com/technetwork/java/javase/downloads/index.html Click on the 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). Accept the license agreement by selecting the radio button. Select the link according to the operating system that you will be using. Save the file to disk and then run the setup program to install. You should also download the documentation on that site as well by following these steps: 1. 2. 3. 4. Go to http://www.oracle.com/technetwork/java/javase/downloads/index.html Scroll towards the bottom of the webpage until you see Java SE 7 Documentation then download it. Save the zip file to your disk and then unzip it. (There are many ways unzip a file depending on how your computer is set up and what kind of operating system you are using. 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. Put (e.g., drag) the unzipped docs folder into the installed JAVA folder (which should be something like 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. Some simple choices for this are: If you are running Windows, you can use JCreator LE. This runs only on windows machines. 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. If you are using a MAC, you can use JGrasp. (Available from http://www.jgrasp.org). Evaluation Students will be evaluated in this course according to the following measures. Component Weight Due Date Assignments 40% due each Thursday (January 14th - April 4th) at 4% each Midterm Exams 30% February 5th & March 19th Final Exam 30% to be announced Evaluation Note In order to pass the course, your weighted exam average (midterm and final) must be at least 40%. If your weighted exam mark is below 40, your final mark will be your weighted exam mark. Note: There might be an optional 11th assignment due April 10th. This would be a bonus assignment and can add as much as 4% to your final grade. Appeals: All assignment and midterm appeals must be made no later than two weeks after they have been returned to the class (either electronically via culearn or handed back in class). For assignment appeals please email the teaching assistant that marked your assignment. Midterm appeals must be made in writing and given to the instructor. Assignments All assignments will be posted to the course website (and announced via Piazza) 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 marked. 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 at least one week 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. 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 receive 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 Unless explicitly stated otherwise, 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 (such as Piazza) before the due date and time is also prohibited. SCS Computer Accounts Any student taking an SCS course qualifies to have an SCS account. SCS accounts can be created at the following URL: http://www.scs.carleton.ca/newacct. SCS students can access one of the designated labs for your course. The labs are operational 7 days a week 24 hours per day, please be advised that the building will be closed overnight, Mon. - Fri. 23:00-8:00 and on weekends from 17:00-8:00. Technical support is available in room HP5161 Monday to Friday from 9:00 until 17:00. All SCS account related information is accessible at the following URL: http://www.scs.carleton.ca/nethelp. 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/datesand-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