General Information
1. Prerequisites
It is expected that you have taken high school algebra and are familiar with computing concepts. You should also have taken a course in a compiled language. CSE 11 assumes that you have basic programming exposure. The pace of this class is fast as shown in its title.
2. Critical information, at a glance
You should read this entire syllabus. It is important. It may be the most important thing you read for this course. But here are the pieces of information you absolutely do not want to forget. I don't mean for this to sound scary, but so many students fail to read or understand these points, so I want to make them as clear as possible.
· Homework (PAs) is due by 11:59 pm on the due date. No late work will be accepted unless it is due to a documented emergency and the instructor of the course has to approve it before the due time.
· We have assigned reading and you should complete the readings for each day on zybooks.com. We port your reading activity scores to canvas on a weekly basis and that's the reading quiz score. We expect students to read the reading assignments before 9am on the due date.
· It is your responsibility to ensure that you have correctly submitted the correct code for your homework assignment. Incorrectly submitted assignments will be graded as is. We won't accept late work due to fairness to other students in our classes.
· All homework assignments must be done based on the instructions.
· All questions for the class should be posted to Piazza. Emails to the instructor should be about personal and confidential matters only.
· We offer each student two slip days that will allow you to be late for up to 24 hours after the due date of an assignment. Please note that slip days are for use for any purpose such as health related reasons, religious holidays, etc. You can surely use them to balance the load from different classes.
3. What will I learn in this class?
In this class, you will learn to:
· Understand the basic idea of variables, flow controls, and memory models.
· Be able to debug, test, and document a functional Java program.
· Manipulate strings and files in Java
· Describe and use some of Java's Abstract Data Types (ADTs) and Application Program Interfaces (APIs).
· Implement algorithms to solve relatively complex problems.
· Design, write and debug relatively complex classes.
· Understand and use inheritance and polymorphism in your programs.
· Implement recursive solutions to problems.
· Design and use test cases to ensure the correctness of your programs.
· Practice good documentation habits.
· Be able to compile and run Java codes in the command line.
· Gain independence and resourcefulness to solve problems and write programs on your own.
4. Textbook: zybooks.com for the e-book.
· Sign in or create an account at learn.zybooks.com
· Enter zyBook code: UCSDCSE11Fall2020
· Subscribe
We assign reading from the book as well as some in-session exercises.
Grading Policy
Your final grade will be determined via the following percentages:
·
o Reading activities: 10%
o PA: 45%
o Midterm: 20%
o Final exam: 25%
We will use a standard scale for assigning letter grades:
o A>=90
o B: 80-89.99999
o C: 70-79.99999
o D: 60-69.99999
o F:<60
The instructor has the discretion to assign + or - for a given letter grade.
Important Grading Policies:
o You must score at least 55% on the final exam and at least 55% of the overall PA portion of this course. If you score lower than 55% on these two categories you will receive an F for the course, regardless of your overall average.
o Each student has two slip days and each slip day can give you up to 24 hours to turn in an assignment after the deadline. You can only use one slip day for each assignment.
o You have 3 days from the time a PA or midterm is returned to request a regrade. After that, the grade is set in stone. To request a regrade, please contact the person who graded the assignment/quiz originally. You should submit your regrade request through gradescope.com (Links to an external site.). Submit the regrade request on the corresponding problem and clearly explain why you think there is a grading error. If you submitted a regrade request without clear justification and was simply abusing the regrade system, your grade will be lowered as a penalty.
o The last PA and the final exam have a regrade period of 1 day after the work is released to you. It will ensure that we submit everyone's final letter grade timely. No regrade requests can be made after the regrade period has ended.
Instructor: Paul Cao
Contact: yic242@eng.ucsd.edu [Home Page (Links to an external site.)]
Online zoom link: https://ucsd.zoom.us/my/yic242 (Links to an external site.)
Online office hours: Monday 9am - 11am, Thursday 8am - 9am. Or by appointments. Email me if you need to make an appointment.
Please only email instructors with personal (confidential) questions. If you need to see us at a time other than the office hours, you should email us in advance to set up a time. You should look at their calendar and propose a few time slots of 30 minutes or less.
Tutors
We have many tutors for this class who are available to help you online. If you need tutor help, just submit your ticket on autograder.ucsd.edu (Links to an external site.). All tutoring sessions are online via zoom.
1. Class Sessions (a.k.a. Lectures)
These are instructor lead sessions that will focus on explanations of complicated and important Java programming concepts including modularity and abstraction, documentation, testing and verification techniques, basic object-oriented programming such as inheritance and dynamic binding, and exception handling. Instructors will use in-class polls as well as pre-released worksheets to work out different problems with students. These sessions will be recorded and will be available online. It is strongly encouraged that everyone attends lecture sessions for more effective learning. We understand that sometimes it isn't possible under the current situation affected by Covid-19. For those who can't attend lectures real-time, you should watch the recorded video.
2. Reading Assignments
To prepare you for these interactive class sections, there will be reading assignments to be completed before each class section. These readings are required, and you should complete the reading assignments before each lecture.
3. Midterm/Final Exam
We will have one midterm in the fall quarter and the midterm will be completed asynchronously. Similarly, our final exam will be asynchronous. We will provide more details about our exams later in the quarter.
4. Problem Solving Assignments (PAs)
Most weeks there will be a problem solving assignment due by 11:59pm on the due date. These will consist of reading a problem statement formulating a plan to solve the problem (an algorithm) implementing a solution (writing a program in Java that solves the problem). You should complete all the PSAs by yourself.
5. Discussion Sections
Discussion sections are optional. Discussion sections start Week 1 though we start on the Thursday of week 0. Discussion sections in 11 focus on basic concepts and are more like problem-solving sessions. They are extremely helpful for you. You should try to attend the discussion session you registered in, especially the in-person discussion sessions.
For students who attend in-person discussions: Please make sure that everyone follows social distancing guidelines and wear masks all the time. If you feel sick, stay home and let us know. We will find a solution for you to attend remote sessions while you recover. The TAs will not answer personal questions at the end of the discussion sessions but please feel free to ask during the discussion sessions. We will work together to make our in person discussions a success! We can prove that UCSD students are smart and know what to do!
Academic Integrity
Complete your academic honor pledge in this link (Links to an external site.) before the end of Week 1!
1. Academic Integrity
The basic rule for CSE 11 is: Work hard. Start early. Make use of the expertise of the CSE 11 staff to learn what you need to know to really do well in the course. Don't cheat.
If you do cheat, we will 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 will get an F in the course, and the Dean of your college will put you on probation or suspend you or dismiss you from UCSD.
You should not share any exam or quiz questions/answers on non-course related websites or social media. We monitor all major websites and if any violations are found to cheat during exams or quizzes, the instructors reserve the right to apply harsher penalties.
What counts as cheating?
In CSE 11, you can read books, surf the web, talk to your friends, and the CSE 11 staff to get help understanding the concepts you need to know to solve your PSA problems. However, you must write your program alone for all PSAs.
The goal of CSE 11 will be a turning point for most of you on understanding how different strategies to solve a problem may result in vastly different efficiency. Future instructors, employers, and colleagues will expect that you will attain a certain proficiency in data structures. Using unauthorized aids in doing your work will prevent you from attaining the proficiencies that others will expect. Meeting or not meeting these expectations relate directly to getting internships, retaining employment, and success in your future studies.
In CSE 11, using or even looking at program code or the write up of algorithms that someone else has written (unless it was explicitly provided as part of the assignment), or providing program code or detailed algorithms to someone else, or turning in code that you have written with someone else other than your partner, is considered cheating. Yes, we do electronically check every program that is turned in. In recent quarters, we also found out that people unintentionally post their codes on public github repos and it is a violation of the AI policy! We report all these cases to the academic integrity office. If you want to share your work with future employers or simply want to save a copy of your work, you can post them privately on your github account!
Receiving a grade on a PA doesn't mean that you have passed the plagiarism checking. We can report cheating cases any time during the quarter, even after we submit your final letter grade. So the safest bet is don't cheat!
How can I be sure that my actions are NOT considered cheating?
To ensure you don't have a problem with this, here are some suggestions:
o Don't even look at or discuss another student's code or detailed algorithms for a PSA you are working on, and don't let another student look at your code or show him/her your algorithms.
o If you are talking to another student about the assignment, don't take notes, and wait two hours afterward before you write any code.
o You should never talk with another student and write code at the same time.
o Don't start with someone else's code and make changes to it, or in any way share code with other students.
In CSE 11, you must write your own answers on the quizzes unless it is specified otherwise. Getting answers from someone else, or providing answers to someone else, is cheating. Everyone needs to stop writing on the exam/quiz once the exam/quiz period has ended. Failing to follow this policy will result in an F for this course.
To reinforce these points, every student in CSE 11 must read, understand, and sign the Integrity of Scholarship Agreement. You must sign an integrity statement before completing any of the assignments or labs. Go to the course website main page and find the link for the tutorial there.
To detect instances of academic integrity violations in programming assignments we will use 3rd party software. We recommend you only include your class lab account ID (not your name or PID) in your submissions. Including your name and/or PID will disclose that information to the 3rd party.
2. Getting Help
We expect that ALL STUDENTS WILL NEED HELP at some point in this course. If you find yourself needing help, this is not a cause for embarrassment. It is completely expected. Please seek help early and often through any (or all) of the following resources.
Open lab hours:
There are many, many hours in which tutors are willing and available to help you with any questions you might have. Course tutor calendar can be found here (Links to an external site.) and how you can get help with a tutor can be found here (Links to an external site.).
Online help - Piazza:
Use the Piazza site for any questions related to the PA, material in the course, quizzes, exams, or course logistics. Piazza allows you to post questions anonymously (to other students) if you don’t feel comfortable revealing your name. In general, all questions should be addressed to Piazza EXCEPT:
· Confidential questions that you wish to address to your instructor only. Please email your instructor directly.
· Questions about your grade. Please contact the person who graded your assignment directly.
· Posts that include portions of your PA solution. Please see a tutor our tutoring session or post these questions privately.
Office hours:
Your instructor and TAs are always willing to help you during her or his office hours. If you cannot make it to your instructor’s or TA's office hours but wish to meet with your instructor or TA, please send her or him an email to set up an appointment.
We are committed to fostering a learning environment for this course that supports a diversity of thoughts, perspectives and experiences, and respects your identities (including race, ethnicity, heritage, gender, sex, class, sexuality, religion, ability, age, educational background, etc.). Our goal is to create a diverse and inclusive learning environment where all students feel comfortable and can thrive.
Our instructional staff will make a concerted effort to be welcoming and inclusive to the wide diversity of students in this course. If there is a way we can make you feel more included please let one of the course staff know, either in person, via email/discussion board, or even in a note under the door. Our learning about diverse perspectives and identities is an ongoing process, and we welcome your perspectives and input.
We also expect that you, as a student in this course, will honor and respect your classmates, abiding by the UCSD Principles of Community (https://ucsd.edu/about/principles.htmlLinks to an external site.). Please understand that others’ backgrounds, perspectives and experiences may be different than your own, and help us to build an environment where everyone is respected and feels comfortable.
If you experience any sort of harassment or discrimination, please contact the instructor as soon as possible. If you prefer to speak with someone outside of the course, please contact the Office of Prevention of Harassment and Discrimination: https://ophd.ucsd.edu/Links to an external site..
We aim to create an environment in which all students can succeed in this course. If you have a disability, please contact the Office for Students with Disability (OSD), which is located in University Center 202 behind Center Hall, to discuss appropriate accommodations right away. We will work to provide you with the accommodations you need, but you must first provide a current Authorization for Accommodation (AFA) letter issued by the OSD. You are required to present their AFA letters to Faculty (please make arrangements to contact me privately) and to the OSD Liaison in the department in advance so that accommodations may be arranged.
If you are experiencing any basic needs insecurities (food, housing, financial resources), there are resources available on campus to help, including The Hub and the Triton Food Pantry. Please visit http://thehub.ucsd.edu/Links to an external site. for more information.
We might conduct research studies in this class that includes the analysis of student grades and/or reformat of course structure to learn how we can teach computer science better. Refer to the consent form here (Links to an external site.).