CSE 8B: Introduction to Programming and Computational Problem Solving - 2

Fall 2022


Instructor: Ben Ochoa
Email: bochoa at
Office hours: W 8:00 PM-9:00 PM (primary) and M 8:00 PM-9:00 PM (secondary), EBU3B 3234, and at other times by appointment

TA: Subhashree Navaneethan
Email: snavaneethan at
Office hours: M 10:00 AM-12:00 noon, Th 8:00 AM-9:00 AM, Th 12:00 noon-1:00 PM, and F 10:00 AM-12:00 noon, EBU3B basement

TA: Darren Yeung
Email: dyeung at
Office hours: Tu 1:00 PM-3:00 PM, W 5:00 PM-6:00 PM, W 8:00 PM-9:00 PM, and Th 2:30 PM-4:30 PM, EBU3B basement

Tutor: Edward Wang
Email: edwang at
Office hours: M 4:30 PM-6:00 PM, Su 9:00 AM-12:00 noon, and Su 1:00 PM-4:00 PM, Zoom

Tutor: Sumadhwa (Sumu) Guruprasad
Email: sgurupra at
Office hours: M 2:00 PM-4:30 PM, Tu 3:00 PM-5:30 PM, and W 2:30 PM-5:30 PM, EBU3B basement

Tutor: Mingyi Li
Email: mil011 at
Office hours: Tu 12:00 noon-1:00 PM, Tu 6:00 PM-8:00 PM, W 9:30 AM-10:30 AM, W 12:30 PM-2:30 PM, and F 1:30 PM-3:30 PM, EBU3B basement

Note: when emailing the instructor, TAs, or tutors with questions about the class, please put "CSE 8B" in the subject line.

Class section ID: 90000
Lecture: MW 6:30 PM-7:50 PM, CENTR 105
Discussion: Th 5:00 PM-5:50 PM, CENTR 214

This course covers introductory programming using an object-oriented approach with the Java programming language. It builds on basic programming constructs from CSE 8A to introduce class design and use, interfaces, basic class hierarchies, recursion, event-based programming, error reporting with exceptions, and file I/O towards the development, testing, and debugging of more complex programs. Additionally, students will learn the basics of command-line navigation for file management and running programs.

Beginning with Assignment 2, all programming must follow specific coding style guidelines.

Prerequisites: CSE 8A (Introduction to Programming and Computational Problem Solving - 1)

Late Policy: Assignments will have a submission procedure described with the assignment. Assignments submitted late will receive a 15% grade reduction for each 12 hours late (i.e., 30% per day). Assignments will not be accepted 72 hours after the due date. If you require an extension (for personal reasons only) to a due date, you must request one as far in advance as possible. Extensions requested close to or after the due date will only be granted for clear emergencies or clearly unforeseeable circumstances. You are advised to begin working on assignments as soon as they are assigned.

Collaboration Policy: It is expected that you complete your academic assignments on your (or your group's, if explicitly allowed for an assignment) own and in your (or your group's, if explicitly allowed for an assignment) own words and code. The assignments have been developed by the instructor to facilitate your learning and to provide a method for fairly evaluating your knowledge and abilities (not the knowledge and abilities of others). So, to facilitate learning, you are authorized to discuss assignments with others; however, to ensure fair evaluations, you are not authorized to use the answers developed by another, copy the work completed by others in the past or present, or write your academic assignments in collaboration with another person (or group, if explicitly allowed for an assignment). On quizzes or exams, collaboration or copying of any kind is not allowed.

Academic Integrity Policy: Integrity of scholarship is essential for an academic community. The University expects that both faculty and students will honor this principle and in so doing protect the validity of University intellectual work. For students, this means that all academic work will be done by the individual (or group, if explicitly allowed for an assignment) to whom it is assigned, without unauthorized aid of any kind.

You should not attempt to search for homework solutions online or in sources outside of the course text. If you accidentally stumble upon a homework solution in an outside source you must cite it in your homework solution. If your solution proves to be too similar to the cited one, you may lose credit on the problem; however, failure to cite the other solution will be treated as an academic integrity violation.

If the work you submit is determined to be other than your own (or your group's, if explicitly allowed for an assignment), you will be reported to the Academic Integrity Office for violating UCSD's Policy on Integrity of Scholarship. In accordance with the CSE department academic integrity guidelines, students found committing an academic integrity violation on a homework assignment will receive a 0 on the assignment. Students found committing an academic integrity violation on a quiz or exam will receive an F in the course.

Grading: There will be 9 homework assignments, and 7 quizzes and a final exam weighted with the following percentages:

Assignments: 58% (2% for assignment 1; 8% for assignments 2-9, drop lowest one)
Quizzes and final exam: 42%
The final exam will consist of 8 parts. The first 7 parts of the final exam correspond to the 7 quizzes. If your grade on one of those parts of the final exam is greater than your grade on the quiz corresponding to the same part, then the two grades will be averaged to determine your grade for that part of your "quizzes and final exam" grade (i.e., your grade for that part will increase); otherwise, your grade for that part will be your quiz grade only. The last part of the final exam will cover material from the last three weeks of class, which there will not be a quiz on, though there will be a homework assignments on the material covered during the third and second to last weeks. This part of your "quizzes and final exam" grade will solely be determined from the last part of the final exam.

Assignments, quizzes, and final exam:

Lecture slides:

Lecture topics (tentative):

Reference material:

Optional textbook:

Introduction to Java Programming and Data Structures, 11th edition, comprehensive version
Y. Daniel Liang
Pearson, 2018

Diversity and Inclusion

We are committed to fostering a learning environment for this course that supports a diversity of thoughts, perspectives, and experiences while respecting your identities (including race, ethnicity, heritage, gender, sex, class, sexuality, religion, ability, age, educational background, etc.). Our goal is to create an inclusive learning environment where all students can feel comfortable and thrive. Accordingly, the instructional staff will make a concerted effort to be welcoming and inclusive to the wide range of students in this course. If there is some way we can help you feel more included, please let one of the course staff know (in person, via email/Piazza, or even using an anonymous note).

We also expect that you, as a student in this course, will honor and respect your classmates, abiding by the UCSD Principles of Community. Please understand that others' backgrounds, perspectives, and experiences may be different than your own, and help us build an environment where everyone is welcomed and respected.

If you experience any sort of harassment or discrimination, please contact an instructor as soon as possible. If you prefer to speak with someone outside of the course, please contact the Office for the Prevention of Harassment and Discrimination.

Students with Disabilities

We aim to create an environment in which all students can succeed. If you have a disability, please contact the Office for Students with Disabilities (OSD) and discuss appropriate accommodations as soon as possible. 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 your AFA letters to the instructor and to the department's OSD Liaison so that accommodations may be arranged.

Basic Needs/Food Insecurities

If you are experiencing any insecurities related to basic needs (food, housing, financial resources), there are resources available on campus to help, including The Hub and the Triton Food Pantry. Please visit The Hub for more information.

Last update: November 29, 2022