CS 1110 & 1111 - Spring 2015 - Syllabus

Basic Info

2015 Spring Semester
http://cs1110.cs.virginia.edu

Lectures:
1110 Section 001 - Mondays, Wednesdays, and Fridays, 2:00-2:50 pm w/ Prof. Sherriff - Maury 209
1110 Section 002 - Mondays, Wednesdays, and Fridays, 11:00-11:50 am w/ Prof. Tychonievich - Gilmer 130
1111 Section - Mondays and Wednesdays, 2:00-3:15 pm w/ Prof. Edwards - Olsson 009

Labs:
Section 100 - Thursdays, 8:00-9:15am - OLS 001
Section 101 - Thursdays, 9:30-10:45am - OLS 001
Section 102 - Thursdays, 11:00am-12:15pm - OLS 001
Section 103 - Thursdays, 12:30-1:45pm - OLS 001
Section 104 - Thursdays, 2:00-3:15pm - OLS 001
Section 105 - Thursdays, 3:30-4:45pm - OLS 001
Section 106 - Thursdays, 5:00-6:15pm - OLS 001
Section 107 - Thursdays, 6:30-7:45pm - OLS 001
Section 108 - Thursdays, 8:00-9:15pm - OLS 001
Section 109 - Thursdays, 11:00am-12:15pm - Rice 120
Section 110 - Thursdays, 12:30-1:45pm - Rice 120
Section 112 - Thursdays, 9:30-10:45am - Rice 120

Office Hours:
All office hour times are posted on the course calendar at the bottom of the Schedule page on the course website. TA office hours are held in the Thornton Stacks lab (large lab in the middle of the top floor of the A-wing of Thornton Hall - look for the sign). Professor office hours are held in their respective offices.

Office Hour Queue:
If you are attending TA office hours, please sign in on the Office Hour queue web site upon arrival. Faculty member office hours do not use the Office Hour queue.

Staff Contact Information

Instructor: Prof. Mark Sherriff
Office: Rice 401
Office Hours: See Calendar on Schedule page on course website
Phone: (434) 982-2688
Email: sherriff@virginia.edu
Twitter: @MarkSherriff

Instructor: Prof. Luther Tychonievich
Office: Rice 210
Office Hours: See Calendar on Schedule page on course website
Phone: (434) 243-3789
Email: tychonievich@virginia.edu

Instructor: Prof. David Edwards
Office: Rice 308
Office Hours: See Calendar on Schedule page on course website
Phone: (434) 982-2227
Email: dle7pm@virginia.edu

Teaching Assistants: Abhishek Gupta, AJ King, Alice Zhang, Allie Ivener, Allison Moyer, Casey Huang, David Stoltz, Eric Siegel, Ge Song (Grad), Graham Turner, Isacc Tessler, Jack Lanchantin (Grad), Jackie Tran, Jasmine Cha, Jason Payne (Grad), Jim Roberts, Joe Scott, Justin Dao, Madelyn Luansing, Marina Sanusi, Matt Pearson-Beck, Michael Bunting, Rupali Vohra, Scott Mallory, Shize Su (Grad), Steph Colen, Stephen Feldman, Will Grayeski, Xiaomin Lin (Grad)

Message boards: Piazza
Login to Piazza and use the threads for quick questions, assignments, and for discussion with other students and staff. You can also post private messages here that will only be seen by staff members. This includes regrade requests for homework assignments.

Primary Text

Starting Out with Java: From Control Structures through Objects (5th Edition)
(a.k.a. “the watermelon book”)
Tony Gaddis
ISBN-13: 978-0132855839

The text book is not required. We will be following the basic outline and ordering of this book; for student who would like a reference, this is an excellent resource. However, no assignments will be given from this book and it is possible to be successful without the text if you come to class and take good notes.

Note on the 4rd Edition: You should be okay with the 4th edition, but the chapters and page numbers will be different. It will be up to you to figure out all of the changes.

Course Description

Introduces the basic principles and concepts of object-oriented programming through a study of algorithms, data structures and software development methods in Java. Emphasizes both synthesis and analysis of computer programs.

Course Goals:
In this course, we have two main goals - to teach you the skill of programming and the art of computer science. Engineering in all fields is progressing at a rapid rate and having the ability to write and understand simple programs has become increasingly more important. While you may not be using Java as your language of choice in your field (although you might!), the concepts and principles you pick up in this class will give you the ability to take an algorithm or problem in your chosen field and write a program that will help you do your job quicker, easier, and more reliably.

But the question now is how do you find those algorithms/problems in your field that would be a good candidate for a new program? Or what if you have to derive the algorithm yourself from the problem? Part of the art of computer science is in recognizing what problems are computable and using computational thinking to derive the best way to solve the problem.

It’s important to remember that programming and computer science in general isn’t an area that only a select few people need - computing is everywhere and in everything. The world needs engineers in aerospace, mechanical, chemical, systems, biomedical, civil, environmental, materials, and electrical that recognize how computing and computational thinking applies to their field to create the next generation of solutions in their respective fields.

Course Topics:

  • Why Computer Science?
  • The Parts of a Program
  • Primitive Data Types
  • Arrays
  • Basic and File I/O
  • Decision Structures (ifs and loops)
  • Writing and Using Methods
  • Writing and Using Classes
  • Recursion
  • Basic GUIs

Course Requirements

You should meet the following requirements to take this class:

  • Can attend class regularly.
  • Can attend lab regularly.
  • For 1110, no previous programming experience is expected
  • For 1111, some previous programming experience is required

Assessment

Program of the Day - 20% - There will be 20 individual programming assignments, each worth 1% of your overall grade.
Email Hunt Project - 7% - A partner team project in which you will compete with other teams to mine the most emails from webpages.
Game Project - 10% - A partner team project in which you will build a video game.
Lab Projects - 13% - Composed of lab attendance and successfully completing various lab programming assignments.
Test 1 - 15% - Covering the first third of the course.
Test 2 - 15% - Covering the second third of the course.
Final Exam - 20% - Covering mainly the remainder of the course, with some stuff from the first two-thirds.
Professionalism Penalty - up to -100% - Excessive missed classes, rude behavior toward instructor or classmates, unauthorized homework assistance, etc can be held against a student when final grades are calculated.

Your final grade will be calculated as follows:

Letter Max Min
A+ 100 98.000
A 97.999 93.000
A- 92.999 90.000
B+ 89.999 87.000
B 86.999 83.000
B- 82.999 80.000
C+ 79.999 77.000
C 76.999 73.000
C- 72.999 70.000
D+ 69.999 67.000
D 66.999 63.000
D- 62.999 60.000
F 59.999 0

Rouding: By default, grades will not be rounded in this course.
Pass/Fail/Audit: A course average of 65.00 or higher with at least one passing test grade is required for successful completion.

Class Management

General

  • Faculty Office Hours - We in general have an “open door” policy, in that if our door is open, by all means stop on in and say hi or ask a question. If our doors are closed, then we’re heads down on some task, on the phone, in a meeting, etc. It’s always a good idea to email or call before coming to make sure we’re here if it’s not office hours.
  • If you email, please put 1110 somewhere in the subject. It makes it easier on the staff. And please don’t just reply to an email sent over a month ago. That makes it harder to keep up with your email.
  • Please don’t hesitate to contact us if you have any problems, concerns, questions, or issues regarding the course, material, or anything else in the class.

Partners and Teams

There will be two partner projects in this course. Details of the groups are:

  • Normal group size is two. Group sizes of three might arise. Expectations will be adjusted to reflect available person power.
  • You will remain in the same group for the entire assignment unless you are asked to change.
  • In general, all group members will receive the same grade for graded assignments. However, group members will evaluate their peers and any student who appears to not be contributing may be penalized.

You are expected to work as a member of your group in this course and cooperate with your colleagues. Cooperation means attending group meetings, completing your assignments properly and on time, letting your group know if you will be out of town, responding to e-mail from your group, and so on. If there is a lack of cooperation by any group member, it must be brought to the attention of the instructor as soon as it happens. If the lack of cooperation is serious, the offending group member’s semester grade will be lowered.

Attendance

  • Attendance in lecture is vital to learning the material and making a good grade in this class.
  • We make no guarantees as to whether we will or will not take attendance or give a quiz on any given day.
  • Any pop assignment we give cannot be made up.
  • Attendance in lab, however, is mandatory and it will be checked.

Homework Assignments

  • Homework assignments will not be handed out in class. Everything will be available online.
  • Partners/groups/teams may not collaborate with any other set of partners/groups/teams unless specified as part of the assignment.
  • See the HW page and the automated grading system page for more information.
  • Late policy: Homework (specifically Programs-of-the-Day or POTDs) can be submitted up to 2 days late, with a 10% penalty for each day late. POTDs are not accepted after 2 days past the deadline. Projects can be submitted up to 4 days late, with 5% taken off each date. Projects are not accepted after 4 days past the deadline.

Exams

  • There will be a total of three formal exams during the course of the semester, counting the final exam.
  • The midterm exams will be given in class. The final exam will be given during the univeristy-set time.
  • Any test that is missed due to any absence that is not a University Excused Absence will result in a zero (0) for that grade.
  • Any test that is missed due to a University Excused Absence or due to circumstances that are approved by me beforehand must be made up within a week of the missed test.

Grading Concerns and Appeals

Exam regrades are submitted via the TPEGs tab in Collab (which will also be where you will find out how you did on the exams).

POTD and Lab regrades are submitted on a private post on Piazza, tagged both regrade_request and the lab setion in which you are enrolled (e.g. lab107-1830-ols).

Both forms of regrade requests are subject to the following policies:

  • All regrade requests must be made within one week of the assignment being returned to the student.
  • We will regrade serious errors in judgement; we will not regrade partial credit judgement calls.
  • When regrading, we reserve the right to regrade the entire exam or assignment, which may result in either an increase or a decrease in your grade. We are not trying to scare off students whose exams or assignments were graded incorrectly, but we are trying to avoid frivolous requests.
  • What should be regraded?
    1. Your answer is the same as what is on the key, but the grader didn’t realize it.
    2. Your answer is different, but is also correct (code that compiles and runs correctly, but is different than the key).
  • What should not be regraded?
    1. “Most of what I wrote is correct, so I think I deserve more partial credit.”
    2. “I wrote so much, and the grader didn’t notice that the correct answer is buried somewhere within this long paragraph.”
    3. “I’m just 1 point away from an A, so I thought it was worth scrounging around to find an extra point somewhere.”

This Syllabus

This syllabus is to be considered a reference document that can and will be adjusted through the course of the semester to address changing needs. This syllabus can be changed at any time without notification. It is up to the student to monitor this page for any changes. Final authority on any decision in this course rests with the professor, not with this document.

Professionalism

In this course, there will be a focus on working well together and learning about the development process. A large portion of that process involves interpersonal skills and conflict management. Students and staff are all expected to treat each other with respect. This includes, but certainly is not limited to:

  • Excessive web browsing during class
  • Disrespectful language
  • Promptness for all deadlines and class meetings
  • Quality work

Students can and will be penalized for unprofessional behavior.

Research

Your class work might be used for research purposes. For example, we may use anonymized student assignments to design algorithms or build tools to help programmers. Any student who wishes to opt out can contact the instructor or TA to do so after final grades have been issued. This has no impact on your grade in any manner.

Academic Integrity

The School of Engineering and Applied Science relies upon and cherishes its community of trust. We firmly endorse, uphold, and embrace the University’s Honor principle that students will not lie, cheat, or steal, nor shall they tolerate those who do. We recognize that even one honor infraction can destroy an exemplary reputation that has taken years to build. Acting in a manner consistent with the principles of honor will benefit every member of the community both while enrolled in the Engineering School and in the future.

Students are expected to be familiar with the university honor code, including the section on academic fraud (http://www.virginia.edu/honor/what-is-academic-fraud-2/). Each assignment will describe allowed collaborations, and deviations from these will be considered Honor violations. If you have questions on what is allowable, ask! Unless otherwise noted, exams and individual assignments will be considered pledged that you have neither given nor received help. (Among other things, this means that you are not allowed to describe problems on an exam to a student who has not taken it yet. You are not allowed to show exam papers to another student or view another student’s exam papers while working on an exam.) Send, receiving or otherwise copying electronic files that are part of course assignments are not allowed collaborations (except for those explicitly allowed in assignment instructions).

Assignments or exams where honor infractions or prohibited collaborations occur will receive a zero grade for that entire assignment or exam. Such infractions will also be submitted to the Honor Committee if that is appropriate. Students who have had prohibited collaborations may not be allowed to work with partners on remaining homeworks.

SDAC and Other Special Circumstances

If you have been identified as an SDAC student, please let the Center know you are taking this class. If you suspect you should be an SDAC student, please schedule an appointment with them for an evaluation. We happily and discretely provide the recommended accommodations for those students identified by the SDAC. Please contact us one week before an exam so we can make accommodations. Website: http://www.virginia.edu/studenthealth/sdac/sdac.html

If you have other special circumstances (athletics, other university-related activities, etc.) please contact your instructor and/or Head TA as soon as you know these may affect you in class.

Frequently Asked Questions

Q: How do I get off the waitlist?
Here’s the deal with the wait list:

In order to come off the wait list, there has to be an open seat in BOTH the lecture and lab you are signed up for. If one or the other is not true, then SIS moves on to the next student who has the right combination.

Our main cap is the lab. The lab sessions in OLS 001 and Rice 120 CANNOT go over 46 due to fire marshall limits. A couple seats in each lab are held back for a week or so to accommodate very special cases. If you feel you fall into this category, please fill out the form here:

Google Form for Special Cases

SEAS Students:

  • SEAS students get first shot at open slots. Please fill out the form above.

CLAS (and other schools) Students:

  • If you are a first year, we’re sorry, but you probably won’t get the course this semester.
  • If you are thinking about the BA major in CS, you need to take 1110 by your third semester. You still have plenty of time. If this is your third semester, fill out the form above.
  • If you are in a major that requires CS 1110 (Math, Cog Sci) and are an upperclassman, use the form above.

I wish we could take everyone that wanted CS 1110, but it’s simply not feasible with the room sizes and resources we have. Please do try again next semester if you can’t get in this time.

Let us know if you have any questions.

Q: Can I use the 4th edition of the textbook?
A: You should be okay with the 4th edition, but the chapters and page numbers will be different. It will be up to you to figure out all of the changes. Further, if we do something that’s only in the 5th edition, it’s up to you to catch up with the material.

Q: I have (insert awesome club/group here) on Thursday nights now. Can I permanently swap labs?
A: You can, assuming you find someone to swap with. You can post on Piazza if you are interested in doing this. If BOTH people agree to the swap, email Prof. Sherriff and he’ll take care of it. DOUBLE CHECK that you both can actually take the other lab before agreeing!

Q: I have (insert awesome club/group or some special test/class session here) just this Thursday. Can I go to another lab this week?
A: Due to fire marshall limits, you cannot attend another lab session, even for just one week. We’re also doing group work, so you need to be there for your team. If this is a class/test session, your other professor should provide you with an alternate time since you have a university class at the same time. Missing one week in general will not affect your grade.

Q: I’m in the X lecture, can I go to the Y lecture instead?
A: For the most part, yes. There should be open seats in Maury 209 and Gilmer 130 if you need to attend a different lecture every once in a while. 1111 students can attend an 1110 section on occasion if necessary as well. 1110 students should not attend 1111 lectures due to the size of the classroom.

Q: Can I take my test in a different lecture section?
A: Absolutely not.

Q: I have another final exam at the same time as our final exam. What do I do?
A: When we get closer to the end of the semester, we’ll have a form you’ll fill out to get a separate time. We will accommodate most all cases here with no issue.

Q: I have travel and will miss the final exam. What do I do?
A: Technically, we don’t have to provide any accommodations for travel. International flight reservations and things like that we will try to accommodate, but typical end of semester travel will not be accepted.