Basic Facts
- Course Web Site: https://ucsb-cs8.github.io/m19-elsherif/
- Piazza Web Site: Please enroll if you have not. https://piazza.com/ucsb/summer2019/cs8sessiona/
- Instructor: May ElSherif
- Lecture: TWR 9:30-10:50a, NH 1006
- TAs: Mohammad Amiri, Kevin Burk, Yun Zhao, and Zeki Duman (contact via email or Piazza.com)
- Emails: amiri@cs.ucsb.edu, kburk@ucsb.edu, yunzhao@cs.ucsb.edu, zekiduman@ucsb.edu
- Lab (50 minute closed lab sections), Thu: 11a, 12:30p, 2p, 3:30p ATTENDANCE REQUIRED.
Discussions
- All discussions and questions should be posted on our course Piazza site.
Required Resources
- Textbook: “Introduction to Computing Using Python” - Ljubomir Perkovic, 2nd edition
Graded Components
- Midterm : 25%
- Final : 35 %
- Hwks : 10%
- Labs : 28%
- Lab Attendance: 2%
What you will learn in this course
This course is an introduction to Computer Science, and programming. So, what is it that you need to know to be a skilled beginning-level programmer in Python? Here’s the list of what you’ll need to be ready for CMPSC 16 (aka CS16, the next programming course):
Problem solving
- Breaking down a problem into a sequence of steps
- Abstracting specific problems into general ones and finding general solutions
Memory concepts
- variables, primitive vs. reference variables, name, type, value
- assignment statements
- scope of variables
Control structures
- for loops, if/else, while loops
- Lists in Python (similar to arrays in other languages)
- index vs. value, finding sum, min, max, average, count of elements matching some condition, making a new list of elements containing only those that match some condition
Functions
- function call vs. function definition
- formal vs. actual parameters (arguments)
Testing
- How to test your code
- Input/output concepts
Writing to the terminal
- Reading from the keyboard
- Reading and writing to files
- Neatly formatting output
Program style
- How to write code that other people can read and understand
More information about this course is available at this link
Final Grade Assignment
The formula to determine your course grade average is explained in the table below.
A+ | 97-100 | A | 93-97 | A- | 90-93 |
B+ | 87-90 | B | 83-87 | B- | 80-83 |
C+ | 77-80 | C | 73-77 | C- | 70-73 |
D+ | 67-70 | D | 63-67 | D- | 60-63 | F | Below 60 |
Regardless of any other policies spelled out here, the average used to determine your final letter grade may be no higher than one full letter grade higher than your exam average.
Thus,
- reasonably good performance on exams is very important to earning a good final grade in the course.
- an A or B should not be out of reach for anyone that has a reasonably good mastery of course concepts (enough to earn a B or C on the exams), and puts in hard work on the labs and project points.
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.)
A Few Course Policies In Brief
- If you are registered for another UCSB course that overlaps with this one, you MUST HAVE specific written permission from both instructors, or I am within my rights to give you a failing grade on any work you miss as a result, and will NOT make any accommodations for you. This includes exams.
- Collaboration is only permitted when specifically allowed for—otherwise, you must do your own work.
- If you are working with a pair partner you must make sure that you add your partner on the assignment on gradescope before you begin the assignment. All parts of the assignment should be completed together using the pair programming style.
- Attendance is required at all lectures and labs (discussion sections).
- I recognize that some absences (e.g. minor illnesses, mishaps, etc.) are unavoidable. Litigating whether each of these is “excused” or not isn’t a good use of anyone’s time, so instead we just drop the lowest two grades from everyone’s homework grades. In this way, absenses (or failure to turn in homework) does not unduly penalize your grade unless it becomes excessive.
- You must turn in your homework in the registered lecture on the due date
You may NOT:
- Turn in homework on a day other than when it is due (early or late)
- Have someone else turn in your homework for you (that will be considered academic dishonesty).
- Drop it off with the instructor to be graded later.
Attendance
This course moves quickly. So attendance is very important. This is even more true when the course is scheduled in a 6 week summer session.
As a result, there will be something you have to turn in at almost every class.
Lab attendance constitutes 2% of your grade. You are allowed to miss only ONE lab in order to get the full 2% dedicated to lab attendance.
Missing homework
Homeworks will be distributed in lecture on Tuesdays, and they should be turned in lectures on the due date
There is no makeup. In lieu of providing a makeup opportunity, I will drop the lowest 2 homework grades (which may be zeros if you miss an assignment.) Each homework will be of equal value (100 pts).
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.
In any case, once the two week deadline for challenges has passed, each grade becomes final—and it is your responsibility to come to scheduled TA or instructor office hours to have this discussion. If you cannot make office hours, you may request an appointment, but you must request the appointment within ONE WEEK of the assignment being posted. If you wait until the last office hours opportunity during the two week window, and you are not able to be seen (e.g. because of a long line of students), then you lose the right to appeal your grade.
Labs
- It is expected that you attend the lab section you signed up for. This way it is easier to load balance the labs and make sure that the TAs are helping everyone in their sections.
- Labs will be due evey Sunday/Monday at 11:59 pm except for the last lab.
Lateness:
- 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. You loose 10% every 12 hours after the lab is due.
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)