Syllabus, CMPSC 156, Fall 2020
Basic Facts
- Instructor: Phill Conrad (contact via Slack)
- Use the “instructor messsage” feature to contact Prof. Conrad, as well as all TAs, Readers and Mentors
- Lecture:
- Tue/Thu 2-3:15pm
- Attendance/Participation is expected/required.
- TAs: Scott Chow and Mara Downing (contact via Slack)
- Lab (50 minute discussion section)
- Monday 5pm, 6pm, 7pm
- Attendance/Participation is expected/required.
- You must attend the section for which you are registered
- Office Hours: See: http://www.cs.ucsb.edu/~pconrad/ofchrs
Course website: https://ucsb-cs156.github.io/f20/
About the Course
- Our goal is to learn Java—but not just to learn Java for the sake of learning Java. After all, some of you already “know Java”, at some level.
- Our bigger goals are:
- to practice using APIs and frameworks to get stuff done–a very relevant real world job skill!
- to learn how to learn a new language or technology–something you’ll do a lot in your career
- to learn some professional-level, real-world programming practices.
The way I’m planning to teach the course is a bit different from what you may have experienced before–I’m trying to create a learning environment that mirrors how real world software is developed more than is the case is traditionally structured courses.
So, the emphasis will be on:
- open source, and sharing code, not keeping code secret
- collaboration
- writing code, that, where possible is actually useful and usable.
Note that “sharing code” doesn’t mean “stealing code”. We still don’t take credit for other people’s work—academic honesty still applies. It just ‘looks different’ in this course.
Final Course Grades
Your grade will be made up of activities from the following categories:
-
Participation Grades (10%) - Each participation grade will be out of 100 points. The grade for 10/01 is an example of this category.
Particpation grades may vary: some are individual, some are team, and some (like 10/01) may be a combination of the two that adds up to 100.
The lowest three participation grades will be dropped; accordingly, if you need to miss a lecture every now and then because of illness, internet problems, etc., it shouldn’t affect your grade unless it becomes a persistent problem (in which case you should speak to the instructor as soon as possible about your situation.)
-
Homeworks / Quizzes (20 %) - These will be administered through Gradescope.
Some questions will be graded by hand (e.g. short answer/essay type questions), while others might be autograded (e.g. multiple choice, fill in the blank, true/false questions.) These will typically be based on assigned readings. We will drop only the lowest two grades from this category. -
Auto-Graded Programming assignments (30 %) - jpa00 is an example of these programming assignments. None of these will be dropped; you are responsible for all of them. This may include individual assignments (such as jpa00), pair assignments, and/or team assignments.
-
Project Grade (40%) - Your project grade will be based on your contributions during the Project phase of the course. We’ll discuss that further in a few weeks, but there are details on the syllabus if you want to check them out.
In addition, we’ll be using peer evaluations through a tool called CATME to assess your individual contributions to the project’s success. The peer evaluation may apply a multiplier to your project grade, increasing it or decreasing it, per your team’s assessment of your contributions. It is important to be sure that you are meeting your committments to your team for a variety of reasons; your grade is among those.
To convert final averages to letter grades, a standard 10 point scale will be used, with the upper and lower ends of each range as +/- grades, except for A+ grades, see below. There is no “rounding up”; a grade of 86.9999 is a B and a grade of 87.0000 is a B+.
A+ grades: These may be awarded to the very best performing students in the class—but the cutoff for A+ grades will be determined at the end of the course at the discretion of the instructor (there is no pre-determined cutoff—an average of 97 or more doesn’t guarantee you an A+ grade.)
Missing homework/in-class activities: Drop the lowest three
If you miss a class, you miss the opportunity for the points on that in-class assignment, or homework that was due. Period.
There is no makeup. In lieu of providing a makeup opportunity, I will drop the lowest three homework/in-class-assignment grades (which may be zeros if you miss an assignment.) Each homework and in-class-activity will be of equal value (100 pts).
More On Grading
Some homework assignments might be submitted on Gradescope, and those may have the option of submitting as a pair or as a group. If you choose this option, you are making one submission for the pair or group, and everyone gets a grade based on that submission. If you just work together as “homework buddies”, you are not required to make a pair submission, but if you do, you both earn the same grade (even if you have an earlier submission in your submission history.)
Project Points
Project points will be earned by contributing to one of several open source legacy code projects. You’ll be assigned to a project team, and the project team will be assigned to a set of bug fixes and feature requests. This mirrors real world software development practice.
To earn a “perfect score” (100%) for this 20% component of your grade, you need to earn 100 project points. If you only earn 80, then an 80% will be recorded for that 20% of your grade.
Some assignments in the project category are worth more points, and some worth fewer.
If you accumulate more than 100 project points, up to 10 project points may be used to raise your final average in the class up to 2.0 points. (The points will be recorded as extra credit). (Each point raises your final course average by 0.2% ).
You may not earn more than 110 total project points–any points in excess of 110 will not count towards your grade (though you’ll probably learn a lot from having under taken the work to earn them.)
Late Labs
The policy is simple, and is based on the idea that the primary purpose of the deadlines is to allow the TA manage his/her workload. The number of labs in this course requires that he/she not have to do “context switching” between grading different labs. All labs must be graded in one sitting, or he/she just won’t be able to keep up with the workload.
So:
- If you want your work to be graded without penalty, turn it in on time.
- If you turn in your lab late, you RISK GETTING A ZERO.
- We will grade late labs ONLY if it creates no extra inconvenience for the graders, and we WILL impose a penalty between 10-20% (see the individual grading rubrics for the labs.)
- There is NO GUARANTEE that late labs will be graded at all. The TA will simply start work at some point after the deadline, and grade until he/she is finished. At that time, he/she will “close the books” on that particular lab, and any work not submitted at that time will NOT be considered.
Attendance
This course moves quickly. So attendance is very important.
We’ll be trying to master the material from about 14 chapters in the Head First Java book (1-11, 16, 17) plus portions of the Java in a Nutshell book. That’s a pace of about 4 chapters per week. We need to go at that pace, because we’ll lose a couple of weeks to exams, and the last few lectures the quarter, you can’t really start anything new, because there isn’t time to put it into practice with programming assignments. If you don’t put it into practice, you aren’t very likely to learn it in any way that is going to stick with you, so there isn’t much point in just “going through the motions”.
As a result, there will be something you have to turn in at almost every class, plus some times when you have to submit homeworks electronically through Gradescope. In this way, attendance is taken, and required.
These things you have to turn in will be a combination of in-class activities, and homework completed outside of class, but handed in on paper during class.
In class activities may occur at anytime, announced or unannounced. Missed in-class activities may not be made up, except by “dropping the lowest 4”.
Thus attendance is required, and reading the assigned readings is required.
Questions about grades
Summary: regrade requests must be made only on GradeScope, and always within one week.
From time to time, the people who grade your papers may make clerical errors in grading (e.g. adding up points wrong or applying a rubric incorrectly.) For this reason, you are encouraged to review your grades as they are posted to Gradescope and Gauchospace. You will typically get an email as soon as each grade is posted. From the time the grade is posted, you will have one calendar week to post regrade requests. These must be made ONLY through Gradescope, ON the correct problem. (Don’t request a regrade for question 4 on the page for question 7.)
Please note that regrade requests based on clerical errors or applying a rubric incorrectly are always welcome. Over the course of the quarter, we’ll grade over 10,000 individual problems, so it is unlikely that we won’t make at least some mistakes.
More problematic are challenges to the rubric itself, e.g. “I don’t think you should have taken off so many points for that error” or “I think I deserve more partial credit for that incorrect answer”. The instructor and TA will always listen, but please know that we’ve put a great deal of thought, time and experience into determining the rubric, and we’ve done our best to apply it to all students equitably. You may have a different point of view, we will not always agree with your assessment—in fact, we seldom will. As such, regrade requests on this basis are not encouraged. It is important to approach such conversations in a respectful manner, accepting that the instructor, TA and grader have been given responsibility for determining course standards, and applying those in a fair way to all students.
Accommodations for disabilities
Students with disabilities may request academic accommodations for exams online through the UCSB Disabled Students Program at http://dsp.sa.ucsb.edu/. Please make your requests for exam accommodations through the online system as early in the quarter as possible to ensure proper arrangement.
Managing stress
Personal concerns such as stress, anxiety, relationships, depression, cultural differences, can interfere with the ability of students to succeed and thrive. For helpful resources, please contact UCSB Counseling & Psychological Services (CAPS) at 805-893-4411 or visit http://counseling.sa.ucsb.edu/ .
Responsible scholarship
Honesty and integrity in all academic work is essential for a valuable educational experience. The Office of Judicial Affairs has policies, tips, and resources for proper citation use, recognizing actions considered to be cheating or other forms of academic theft, and students’ responsibilities, available on their website at: http://judicialaffairs.sa.ucsb.edu. Students are responsible for educating themselves on the policies and to abide by them.
Furthermore, for general academic support, students are encouraged to visit Campus Learning Assistance Services (CLAS) early and often. CLAS offers instructional groups, drop-in tutoring, writing and ESL services, skills workshops and one-on-one consultations. CLAS is located on the third floor of the Student Resource Building, or visit http://clas.sa.ucsb.edu
Standard Disclaimer
This syllabus is as accurate as possible, but is subject to change at the instructor’s discretion, within the bounds of UC policy.
(end of syllabus)