cs18000:fall13:start

CS18000 Home Page for Fall 2013

CS18000 offers an introduction to Computer Science, using the Java programming language.

Topics include primitive types and strings, selection, repetition, arrays, graphical user interfaces, methods and classes, interfaces, inheritance, exceptions, basic concurrent programming and synchronization, polymorphism, dynamic data structures, recursion and recursive data structures, and an introduction to generics.

Instructor Instructional Coordinator
Name Prof. Antony Hosking Dr. Lorenzo Martino

Please contact Jerry Ma for the following issues:

  • Web-CAT account access
  • Inability to submit assignments
  • Grading inconsistencies & suspected erroneous tests
  • Late submission of homework & projects if already approved by Dr. Hosking, Dr. Martino, or your TA

Time: MWF, 0930–1020 AM
Location: Class of 1950 Lecture Hall 224

Any up-to-date introductory textbook on Java programming.

Some suggestions:

  • Start Concurrent: An Introduction to Problem Solving in Java with a Focus on Concurrency by Wittman, Mathur, and Korb (2013 edition). ISBN 978-1557536723. Available through Amazon: Paperback and Kindle.
  • Java Precisely by Peter Sestoft (second edition, 2013). ISBN 978-0262693257. This is an ideal quick reference for the reader who has learned (or is learning) Java from a standard textbook. Available through Amazon: Paperback.
  • Effective Java by Josh Bloch (second edition, 2008). ISBN 978-0321356680. This book is absolutely outstanding. It takes you well beyond the material covered in this course. However, if you're interested in doing more Java, I highly recommend that you buy this book sooner rather than later. Available through Amazon: Paperback and Kindle.

All enrolled students are given access to a Kindle Fire for the semester. The Kindle Fire is used for selected labs and projects, and may be used for other purposes throughout the semester. Kindle Fires can be checked out from the service window near LWSN 2121.

  • 40% Programming assignments (exact number may change)
    • Projects 1-3: 2% each (6% total)
    • Projects 4-5: 5% each (10% total)
    • Projects 6-8: 8% each (24% total)
  • 20% Class and Lab Assignments (including attendance)
    • Labs: 100 points/week
    • Clicker questions: 20 points/class (maximum)
    • Homework problems: 15 points/assignment
  • 40% Exams
    • Exam 1: 10%
    • Exam 2: 10%
    • Exam 3: 20%

Clicker questions are worth 5 points each, with a 5-point participation bonus for the questions at the beginning and end of the period (if given). Scores are capped at 20 points per day.

IMPORTANT – Labs and exams can only be “made up” in extraordinary circumstances if arrangements are made with the CS18000 Instructional Coordinator. Such arrangements should be made at least one week before the exam. “Made up” exams must be taken before the time the rest of the class takes the same exam.

The grading for the course is statistically normalized (follows a “curve”) and is not fixed. If you are concerned about your grade, contact the instructor. If you have a question about the grading of a lab or project, talk to one of your Lab Instructors about it.

Please see this page for more information about Web-CAT, our automated grading system.

Please see this page for info about using Cyberduck to download and upload files to lab machines.

We are using Piazza for questions about lectures, homework, labs, projects, exams, and other class-related discussions. Sign up by visiting CS18000 on Piazza. You can post public questions visible to the entire class or private questions visible only to the instructors. You may post questions including small snippets of code (using the <code> tag), but do not post extensive pieces of code publicly.

(1) You should direct questions concerning a lab or project to a staff member, rather than a classmate. But, when you come to us, be sure that you have specific questions and can show evidence that you have spent some time on your own attempting to solve your problem.

(2) This course is worth four credit hours, including three lectures and one two-hour weekly lab. According to university guidelines, you should expect to spend, on average, an additional eight hours per week working on readings, homework assignments, and projects. Some weeks the load is less, other weeks more. Please plan your schedule carefully to avoid getting behind or missing an important deadline.

(3) ATTENDANCE IN CS18000 IS MANDATORY! You should plan on attending EVERY lecture and EVERY lab meeting. Past experience has shown us that students who attend lecture and lab regularly do better on labs, assignments, and exams – even those who think they already know the material or who think they can learn it on their own. Missed labs CANNOT be made up, unless the absence is excused. Lab absences MAY be excused for reasons of serious illness, family emergency, or official university commitments, but only if appropriate documentation is provided to one of your Lab Instructors. For planned absences (band trips, other course field trips, etc.), you must inform your instructor ahead of time, or the absence will not be excused.

(4) You should read the material in the textbook according to the class syllabus. In most cases, you will read about a concept in the book, then we will cover it in class, then you will use it in lab, then it will be used on a project, and finally it will be tested on an exam.

(5) Computers may become heavily loaded as a project deadline nears. Waiting until the last minute to work on your project is dangerous! Our CS18000 policy is NOT to extend deadlines unless most available workstations are unavailable for an extended period (like 10-12 hours) near the end of a project.

(6) Unless indicated otherwise, NO LATE projects or lab assignments are accepted. There are NO EXCEPTIONS to this rule except under extreme circumstances approved in advance by one of your Lab Instructors. Failure to turn in a project results in a loss of all the points allocated for the project. The same holds true for a lab assignment.

(7) In most cases no credit is given for programs that do not compile (that is, execution is suppressed due to compilation errors). Programs which execute but are not correct or complete are considered for partial credit. To receive full credit, your program must produce correct results, be well-designed, be efficient, and adhere to good programming style. Visit this link to learn about our Java Programming Standards.

(8) WE ALWAYS WELCOME YOUR CONSTRUCTIVE COMMENTS. Please do not hesitate to bring any shortcomings to our attention.

Except for team projects, all CS18000 course work must be done individually. We encourage discussion of any CS18000 topic including ideas about how to do the projects. But, under no circumstances is exchange of code via written or electronic means permitted between CS18000 students. It is considered dishonest either to read someone else's solution or to provide a classmate with a copy of your work. Do not make the mistake of thinking that superficial changes in a program (such as altering comments, changing variable names, or interchanging statements) can be used to avoid detection. If you cannot do the work yourself, it is extremely unlikely that you can succeed in disguising someone else's work. We are adamant that cheating in any form is not tolerated. Even the most trivial assignment is better not done than if you cheat to complete it.

All students in CS18000 must read and electronically “sign” the Purdue University Department of Computer Science Academic Integrity Policy. This document is available at the my.cs.purdue.edu website. You need your Purdue Career Account login and password to access this page. There, after reading the policy, you indicate that you have read and understand both the policy and its consequences. There is also information about some implementation details.

IMPORTANT: CS18000 students are not allowed to take Exam 1 if they have not read and accepted this policy.

In CS18000, a first instance of academic dishonesty results in a zero for that assignment plus a letter grade deduction at the end of the semester.

A second instance of academic dishonesty results in a grade of F.

In accordance with the Purdue University Department of Computer Science Academic Integrity Policy, all instances of academic dishonesty on an exam, project, or lab assignment are reported to the Dean of Students Office.

spring14

  • cs18000/fall13/start.txt
  • Last modified: 2014/01/09 16:23
  • by lmartino