Welcome to CSE 8B! We are happy to have you in this course! This course is the second course in two course sequence of Introduction to Computer Science using Java (CSE 8A is the first course). In this course, you will learn Object Oriented Programming (OOP) using the Java programming language. Specifically, you will learn how to design, implement, and use your own data types using classes and objects. You will also be learning many fun topics like memory model (stack and heap), recursion, interfaces, inheritance, polymorphism, collections, generics, exceptions, etc. We hope that you will have a great time learning these topics this quarter!
It is expected that you have taken CSE 8A or another equivalent course in Java. CSE 8B assumes that you have basic Java programming knowledge and skills. Specifically, you should have a basic knowledge and understanding of how to write simple programs using the following: variables, conditionals (if/else), loops (while, for), arrays (1D and 2D), and methods.
Students who successfully complete CSE 8B will be able to:
Read a computational problem and formulate an algorithm to solve that problem
Write and document simple Java programs that perform a specific task
Debug and test Java programs that you or someone else has written
Read basic Java programs to determine their purpose
Use memory models to trace the state of data during a program’s execution
Introduction to Java Programming: Comprehensive Version, 10th Edition, by Y. Daniel Liang
(OR)
Introduction to Java Programming and Data Structures, 11th Edition, by Y. Daniel Liang
Note:
You should purchase only ONE of the two editions (10th or 11th) of the textbook
UCSD bookstore offers e-book versions which can be significantly cheaper than paper books. Either ebook or paper book should be fine.
The 10th edition may be out of print from the book store. The only available version may be the 11th edition. We compared the two versions and they are similar. We have marked in our schedule (under reading assignment), if there is a section difference between the two versions or the book.
You must have an iClicker for this course. Buy an iClicker at the UCSD bookstore (not the smartphone clicker app). Any version of the iClicker is fine as long as you have a physical one. Register your iClicker on Canvas so you receive your clicker points are counted towards your class participation grade. Do NOT pay to register your iClicker on the original iClicker website.
Our course website can be found here: http://bit.do/cse8b-winter2020
The course webpage contains basic information, syllabus (that you are reading right now!), schedule (including office/lab hours), materials (notes, slides, etc) and staff contact information. You should check our course website often!
We will be using Canvas (www.canvas.ucsd.edu) for publishing your grades for this course. The grades you see on canvas is YOUR OFFICIAL GRADE, and it is your responsibility to CHECK THEM REGULARLY to make sure they are recorded correctly.
You will use gradescope (www.gradescope.com) for submitting your programming assignments. We will use gradescope for grading your PAs, quizzes and exams. You will be added to our course on gradescope automatically sometime during week 1 (before PA1 is due).
We will use Piazza for our course discussion board. Please ask all course content related questions via piazza. Make your post public unless it contains personal information. This will help you get the fastest response possible to your post.
Sign up link: piazza.com/ucsd/winter2020/cse8b
Piazza homepage: piazza.com/ucsd/winter2020/cse8b/home
All lectures in this course will be podcasted. You may find the podcasts for all sections here: https://podcast.ucsd.edu