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 (A00, B00)
Contact: yic242@eng.ucsd.edu [Home Page]
Online zoom
link: https://ucsd.zoom.us/my/yic242
Online office
hours: T/Th 10am - 12 noon. Or by appointments. Email me if you need to make an
appointment.
Instructor:
Greg Miranda (C00)
Contact: g2miranda@eng.ucsd.edu
Online zoom
link: https://ucsd.zoom.us/my/gregmiranda
Online office
hours: T/Th 11am - 1pm. 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. 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.html). 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/.
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/ 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.