CS 1110/1111 - Introduction to Programming - Course Syllabus

Basic Info

2013 Fall Session
http://www.cs.virginia.edu/cs1110/

Lecture

1110-001: Mondays, Wednesdays, and Fridays, 11:00 - 11:50 am, Rice 130
1110-002: Mondays, Wednesdays, and Fridays, 12:00 - 12:50 pm, Rice 130
1111: Mondays and Wednesdays, 3:30 - 4:45 pm, Olsson 009

Labs

Lab 101 - Th 12:30 - 1:45 pm Lab 102 - Th 9:30 - 10:45 am Lab 103 - Th 11:00 am - 12:15 pm Lab 104 - Th 2:00 - 3:15 pm
Lab 105 - Th 3:30 - 4:45 pm Lab 106 - Th 5:00 - 6:15 pm Lab 107 - Th 6:30 - 7:45 pm  
Olsson Hall 001

Office Hours

All office hour times are posted on the course calendar, located on Google Calendar. 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.
Instructor Information

1110 Instructor: Prof. Mark Sherriff
Office: Rice Hall 401
Office Hours: MoTuWeFr 10:00-11:00 am or by appointment
Phone: 982-2688
Email: sherriff@virginia.edu
Twitter: @MarkSherriff
  1110 Instructor: Prof. Luther Tychonievich
Office: Rice Hall 210
Office Hours: Tu 10:00 am-12:00 pm, Th 1:00-3:00 pm
Phone: 243-3789
Email: lat7h@virginia.edu
1111 Instructor: Prof. Hamed Soroush
Office: Rice Hall 502
Office Hours: MoTuTh 11:00 am-12:00 pm, Wed 5:00-6:00 pm
Phone: 982-2228
Email: hs7cd@virginia.edu
   

Teaching Assistants: Andy Barron, Marina Childers, Stephanie Colen, Stephen Feldman, Casey Huang, Sydney Huppert, Martin Kellogg, Monika Khot, Sam Knox, Nick Lytle, Courtney Maimon, Paul Moniuszko, Matthew Pearson-Beck, Jim Roberts, Joe Scott, Jackie Tran, Stefanie Van Rafelghem, Luonan Wang, Kevin Whelan

Follow the staff on Twitter: @UVaCS1110

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.

Email the Instructors: Prof. Sherriff (1110), Prof. Tychonievich (1110) or Prof. Soroush (1111)
Email Profs. Sherriff, Tychonievich, or Soroush for exam issues, emergencies, etc.
Primary Text

Starting Out with Java: From Control Structures through Objects (5th Edition)
Tony Gaddis
ISBN-13: 978-0132855839

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. Further, if we do something that's only in the 5th edition, its up to you to catch up with the material.
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:
The topics to be covered in the course include:
  • 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:
  1. Can attend class regularly.
  2. Can attend lab regularly (if applicable).
Assessment

Your final course average will be calculated using the following method:

Lab and Quizzes - 15% - Attendance and participation in lab is required. Weekly quizzes on Collab also count toward this score. (1111: Your grade comes mainly from the weekly quizzes.)
Homework Assignments - 35% - Each assignment has a set number points assigned to it, the sum of which equals at least 100.
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. Monday, December 16, 7:00 PM
Professionalism Penalty - up to -10% - 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 letter grade will be determined by the following scale:
A+ 100 98.000

Rounding - Grades by default will not be rounded in this course. Please see the grade breakdown here to determine where your grade falls.

Pass/Fail - A course average of 65.000 or higher is required for a pass.

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
Class Management

General Information (Prof. Sherriff - 1110)
  • Please feel free to stop by my office any time. I'm usually there 9:00-5:00 every day, except when teaching or in meetings. However, it's always a good idea to email me before you come, just to make sure I'm there
  • I can't stress enough that email is the best way to get in touch with me.
  • If you email me, please put 1110 somewhere in the subject. It makes it easier on me. (And don't just reply to an email I sent over a month ago... that's kinda silly...)
  • Please don't hesitate to contact me if you have any problems, concerns, questions, or issues regarding the course, material, or anything else in the class.
General Information (Prof. Tychonievich - 1110)
  • I'm usually in my office 9:00-5:00 every day, except when teaching or in meetings. Please feel free to stop by.
  • If you email me, please put 1110 somewhere in the subject and write a short subject that applies to the email on hand. I prefer to handle my email in bulk once or twice a day, so do not expect an immediate reply. If your message is appropriate for Piazza, please use that discussion venue instead.
General Information (Prof. Soroush - 1111)
  • The main difference between 1110 and 1111 are the labs. 1111 students do not attend lab sessions, however 1111 students are responsible for material covered in the lab exercises. Therefore, they are encouraged to do all of the lab exercises on their own to gain the same experiences as 1110 students. In addition, completion of specific lab exercises may be required for 1111 students.
Labs in Olsson 001 (1110 and 1111)
  • Olsson 001 will be available for your usage for this class.
  • You will be provided/emailed a login and password that will only work in 001 - please keep up with this information!
  • You will NOT have a key to 001 and you can only use the lab when no other lab is in session.
  • 001 is for computer science use only - please don't bring your other class's study groups in there (besides, they couldn't login anyway...)
Attendance
  • Attendance in lecture is vital to learning the material and making a good grade in this class.
  • Attendance will not specifically be taken every lecture, but we will use the information from in-class exercises to get an idea as to who comes to class and who doesn't.
  • Further, some graded quiz exercises may take place during lecture.
  • Attendance in lab, however, is required for 1110 students. If you are late, you may only earn a portion of the participation grade depending on the severity of your lateness.
Homework/Lab Assignments
  • Homework assignments will not be handed out in class. Everything will be available online.
  • There will be a minimum of six homework assignments during the course of the semester. The assignments will include questions regarding and taken from the chapters assigned for each lecture. Specific grading criteria will be provided with each assignment.
  • In this course, for some lab and homework assignments, you will have a partner from the same lab.
  • Partners may not collaborate with any other set of partners.
  • 1111 students do not have a lab section, but it is highly recommended that they do the lab assignments on their own and they will be responsible for material reviewed in these assignments.
  • Homework may be submitted up to 48 hours late, with 10% off if submitted by the submission time on the next day and 20% off if submitted by the submission time after two days. Homework will not be accepted 48 hours after the deadline.
Exams
  • There will be a total of three tests/exams during the course of the semester, counting the final exam.
  • 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 the instructor beforehand must be made up within a week of the missed test.
Grading Concerns and Appeals
  • See the Course Wiki in Collab for more information on regrades, missing labs, and missing quizzes.
  • The regrade procedure is intended to correct serious errors in grading. It is not intended as a opportunity to argue about each judgment call made by the graders. We agree that graders sometimes take off 1-2 points too many here and there, but we believe that they also give you 1-2 points too many just as often. When we regrade exams, we sometimes disagree with the exact points awarded on each question by the graders, but the total grade usually comes out the same.
  • Our overall experience with regrade requests is that fewer than 10% of them lead to a change in an exam grade, and an even smaller percentage have any effect on the final grade for the course. We think it doesn't pay to regrade these assignments and exams, but even more importantly, it is a waste of your time to agonize over the possibility of gaining an additional point.
  • You can almost certainly gain more points in the course by devoting this time to studying for the next exam.
  • However, significant mistakes in grading do occur, if rarely. If you sincerely feel that your exam was unfairly graded, we will look it over carefully. In that case, we reserve the right to regrade the entire exam, which may result in either an increase or a decrease in your grade. We are not trying to scare off students whose exams were graded incorrectly, but we are trying to avoid frivolous requests.
  • All grading appeals must be made to the appropriate location: TPEGS for exams and the regrade email account for everything else.
  • All regrade requests must be made within one week of the assignment being returned to the student.
  • 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. 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.
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.
LNEC and Other Special Circumstances

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