My goal for this class is to continue your development in programming. You'll discover novel approaches to break down problems into components that can be implemented in Java as well as learn the fundamentals of APIs, threading, runtime, website design, arrays, and inheritance.
I recognize that many of you are not computer science majors. I'll do my best to be mindful of the practical uses that programming/computer science can lend to your majors by focusing on aspects of programming that I've found helpful throughout my career and those that I've networked with. The skills in this course (breaking down problems, designing solutions, researching previous implementations, communicating with your classmates, pushing through assignments) will be helpful to any major.
The class meets MW 6:30 - 7:50p in CNTR 105
Office: CSE 2116
MW 10:00 - 12:00
and by appointment
| Participation | 5% |
| Sections | 10% |
| Homeworks (5) | 6%, 7%, 8%, 11%, 13% |
| Final Project | 15% |
| Quizzes (2) | 5% |
| Midterm | 10% |
| Final | 10% |
| A- / A / A+ | 90.00-92.99% / 93.00-99.99% / 100+% |
| B- / B / B+ | 80.00-82.99% / 83.00-86.99% / 87.00-89.99% |
| C- / C / C+ | 70.00-72.99% / 73.00-76.99% / 77.00-79.99% |
| D | 60.00-69.99% |
| F | < 60% |
Buy an iClicker at the bookstore and register it here. (USE YOUR UCSD ID (PID starts with A) when registering.)
No books are required for this course. I'll link to relevant information on the web through the course's Calendar page.
This class meets on MW 6:30 - 7:50p at CNTR 105. These are instructor-led class periods. I'll do my best to keep them as interactive as possible via clicker questions and interactive programming. During class you will work alone and in groups to work through problems and answer questions using your iClickers. You must bring your iClicker to every class. 5% of your grade is based on class participation via answering clicker questions. To get credit for a day you'll need to respond to 80% of the clicker questions.
We have 2 discussion sections for this class. The section on Friday 5:00 - 5:50p (PCYNH 106) will be led by Spencer Wilson and will focus on reviewing what was discussed during lectures. Attendance is optional but encouraged.
The second section will be led by your section lead in small groups (about 10 people) and will focus on small labs to get your started on your assignment and work through exercises related to the week's material. These group sections will be arranged and held at a time chosen by your section lead. Participation is part of your grade.
We will have 2 short, 20 minute quizzes on the 5th and 15th day of class. Each quiz is worth 2.5% of your final grade and cannot be made up.
There will be a midterm and final exam as well. Exams cannot be made up. The exams will allow a single page of notes and will be held in the normal lecture location.
Final exam is on Monday, December 7. 7:00 - 10:00p
There are a total of 5 programming assignments + a final project. The first 3 assignments are relatively short and due every week. The fourth assignment starts to get more involved and you'll have 2 weeks to complete. The fifth assignment will be done in pairs and due after 2 weeks.
You will need to meet with your section lead to have your assignment graded. He/She will ask you to step through your solution and explain any problems in your code. Not meeting with your section lead to have your assignments graded will result in an automatic 20% reduction to your assignments grade.
To incentivize you to put additional effort into each assignment, the top submission for each project will get an automatic 100% on the final exam. For example, homework 1 involves graphics, the top project with the best design (voted on by the class) will not have to take the final exam. I'll post the terms for each assignment's merit in the project writeup.
You have five "slip days" to use for any reason on any programming assignment throughout the quarter. Each slip day allows you to submit your assignment up to 24 hours late. Some important notes about slip days:
The course culminates with a final project. The problem is entirely your choosing, as long as it involves material covered in this course. You may use any language, tools, libraries, etc., assuming that you'll be able to demonstrate your project to the class and your section lead at the end of the quarter. You'll also be able to have groups of up to 3 people (must be from your section). It is expected that a group with multiple members will develop a more involved project. Project ideas should be submitted to your section lead by November 13 for approval.
The final project is due at midnight on Wednesday, December 2 (note: slip days cannot be used for the final project). Teams have the option to present the status of their final project to the rest of the class during the final lecture for a vote on the best final project. The winning team will get a 100% on the final exam.
If you do cheat, we may enforce the UCSD Policy on Integrity of Scholarship (see the General Catalog or the corresponding web page, scroll 2/3 of the way down). This means: You may get an F in the course, and the Dean of your college may put you on probation or suspend you or dismiss you from UCSD.
Your section lead is your main point of contact throughout the quarter. He/She is responsible for leading your group's weekly sections as well as answering any questions regarding grades.
There are many, many hours in which tutors are willing and available to help you with any questions you might have. See the tutoring schedule. Open tutor hours are held in CSE B260.
Use the Piazza site for any questions related to the homeworks, material in the course or course logistics. Clarifications on the assignments or exams should be posted here, please check previously asked questions to see if a similar post already exists.