COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15...

21
COMP1406/1006 Introduction to Computer Science II (the Java course) Summer 2013 M. Jason Hinek Carleton University

Transcript of COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15...

Page 1: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006Introduction to Computer Science II(the Java course)

Summer 2013

M. Jason HinekCarleton University

Page 2: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

what? A second course in programming emphasizing problemsolving and computational thinking in an object-orientedlanguage. Topics include abstraction, mutable datastructures, methods, inheritance, polymorphism, recursion,program efficiency, testing and debugging.

when/where? Lectures:6:05pm - 8:55pm MWMackenzie Building (ME) 3275

Tutorials:6:05pm - 8:55pm T/RHerzberg Building (HP) 4155

2 / 17

Page 3: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

who? Instructor:M. Jason HinekHerzberg Building (HP) 5332

TAs:Abdallah Douha (tutorials, assignments)Kristyn Girard (assignments)Munther Hussain (tutorials, asignments)Peter Hayman (tutorials, assignments and Piazza)

You:have taken COMP1405/1005, SYSC1005, or ECOR1606

ready for LOTS of programming!

3 / 17

Page 4: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

who? Instructor:M. Jason HinekHerzberg Building (HP) 5332

TAs:Abdallah Douha (tutorials, assignments)Kristyn Girard (assignments)Munther Hussain (tutorials, asignments)Peter Hayman (tutorials, assignments and Piazza)

You:have taken COMP1405/1005, SYSC1005, or ECOR1606ready for LOTS of programming!

3 / 17

Page 5: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

why?

Canada’s IT industry will be more than 100,000workers short by 2016, thanks to growing skillshortages that affect as many as 60 per cent of allbusinesses, according to a report recently releasedby IBM Corp.

Ottawa Citizen 2012

4 / 17

Page 6: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

why? computer science is almost everywhere....

4 / 17

Page 7: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

how?lectures textbookpiazza CODING!

5 / 17

Page 8: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Topics · AbstractionMutable data structuresMethods (functions)Object Oriented Programming (OOP)- Inheritance- Polymorphism

Recursion (recursive functions and recursive data types)Program efficiencyTestingDebuggingJava (will be used throughout)

6 / 17

Page 9: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Prerequisites · One of COMP1405/1005, ECOR1606, or SYSC1005.

Note · COMP1406 is a prerequisite for both COMP2401 andCOMP2402. However, there is a further condition thatyou must receive at least a C- in COMP1406 in order toproceed to either COMP2401 or COMP2402.

7 / 17

Page 10: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Textbook ·

Introduction to Programming in Java- An Interdisciplinary Approach

Robert Sedgewick and Kevin Wayne

http://introcs.cs.princeton.edu/java/home/

Two copies of the textbook are on 4-hour reserve in thelibrary.

8 / 17

Page 11: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Evaluation · Your final grade will be made up from four components:

Q Quizzes 10%A Assignments 40% ?

M Midterm Exam 15%F Final Exam 35%

9 / 17

Page 12: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Evaluation · You must pass the weighted average of your midterm andfinal exam in order to pass the course. Your final gradewill be determined using the following:

/* Q - quizzes grade [0,10] *//* A - assignment grade [0,40+] *//* M - midterm grade [0, 15] *//* F - final exam grade [0, 35] */

if (M+F >= 25) thenfinal grade is Q+A+M+F

else // (M+F < 25)final grade is 2*(M+F)

9 / 17

Page 13: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Quizzes · There will be six in-class pop quizzes during the semester.One in each week starting the week of July 8.

Each quiz will be worth 2 marks and your best five out ofthe six quizzes will be used to compute your overall quizgrade at the end of the term.

Make sure you have a piece of paper and pen/pencil withyou in class.

10 / 17

Page 14: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Assignments · There will be 10 assignments in this course.

All assignments are due at the start of class on the datesgiven below. No lates will be accepted.

Assignment 1 2% due July 8Assignment 2 2% due July 10Assignment 3 5% due July 15Assignment 4 2% due July 17Assignment 5 6% due July 22Assignment 6 2% due July 24Assignment 7 2% due July 29Assignment 8 7% due Aug 7Assignment 9 2% due Aug 12Assignment 10 10% due Aug 15

11 / 17

Page 15: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Appeals · If you have an issue with the marking of an assignment· first contact the TA that marked your assignment· only contact me as a last resort

If you have an issue with the marking of a midterm· download and print the appeal form (to appear on thecourse website)

· fill in the form and attach it to your midterm exam· submit your exam (with attached form) to me in classno later than August 14. Appeals will not beaccepted after this date.

12 / 17

Page 16: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Online Resources · There are several online resources

http://piazza.com/carleton.ca/summer2013/comp14061006

http://docs.oracle.com/javase/tutorial/

http://introcs.cs.princeton.edu/java/home/

http://people.scs.carleton.ca/~lanthier/teaching/COMP1406/notes.html

13 / 17

Page 17: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Collaboration · Use good judgement

It is OK to:

· Discuss possible approaches to and interpretations of an exercise.· Help debug another student’s program.· Post questions on the class forums. (I strongly encourage this!)· Answer questions on the forums. (without posting solutions)

It is NOT OK to:· Share working code or code fragments.· Write code in groups and then share the finished code.· Post questions on forums besides our Piazza page.· Post complete or partial assignment solutions on Piazza before thedue date.

· Take credit for another student’s work

14 / 17

Page 18: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Plagiarism · We will be looking for this in your submissions

· If you copy code from any source (another student, your sibling, theinternets, a book, etc.) other than yourself it is plagiarism.

· if you copy code from any source other than yourself and changevariable names it is still plagiarism.

· if you copy code from any source other than yourself and add orremove blank lines it is still plagiarism.

· if you copy code from any source other than yourself and you do notgive proper credit (citation) is plagiarism.(Sometimes, starter code is permitted in assignments; these must becited properly.)

15 / 17

Page 19: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Plagiarism · We will be looking for this in your submissions

We will be sending your submitted code to a plagiarism detection serverto check for plagiarism.

15 / 17

Page 20: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Tutorials · Tuesday and Thursday nights in HP 4155

Not mandatory and are worth no explicit marks

It is recommended that you do attend though!

Tutorial 0 July 4th (DrJava and Java basics)Everyone welcome

16 / 17

Page 21: COMP1406/1006 Introduction to Computer Science IIAssignment2 2% dueJuly10 Assignment3 5% dueJuly15 Assignment4 2% dueJuly17 Assignment5 6% dueJuly22 Assignment6 2% dueJuly24 Assignment7

COMP1406/1006: Intro to Computer Science II

Java · Install the latest version of Java SE7

DrJava · The only IDE supported by COMP1406/1006

Editor/Shell · notepad++ and powershell (windows)

Note: You are free to use whatever IDE (or environment) you wish.However, you must submit plaintext .java files (no packages).

17 / 17