Is CS 111B the right class for you?
- CS 111B is meant for students who already know a little bit of programming, and want to learn the fundamentals of Java programming. If you have never programmed before, you should take CS 110A first.
- In CS 111B, we will cover a brief review of data types, if-statements, loops, and methods (functions), to learn how they work in Java. Then we will spend more time on object-oriented programming (OOP) and inheritance, exception handling, file i/o, and arrays.
- For prerequisite knowledge, before you take CS 111B, you should be able to do something like this in the programming language of your choice:
Write a complete function/method that takes in a single numeric parameter. If the number is positive, use a loop to print a "Hello world!" message that number of times. Otherwise, print a message such as: "Error: number must be positive!"
If you already can write a program like that, then CS 111B is the right place for you to learn Java. If you don't know how to do something like that, then you should take CS 110A first, to get an introduction to programming.
- If you want to transfer and get a Bachelors Degree,
assist.org has official information about which courses transfer (articulate) between schools. For example, you can see there that SFSU wants CS majors to know Java (as covered in our CS 111B and 111C courses).
- CS 111C Data Structures and Algorithms in Java is an important class for CS majors. Before you can take it, you must complete CS 111B (or show the department chair that you have learned OOP in Java already.)
Class Information for Craig Persiko's CS 111B Section:
- In the first 2 weeks of class, we will cover
Chapters 1-5 of the textbook as a quick review of topics from CS 110A (using Java). So if you are new to programming, I recommend you study those chapters before our class begins.
- This class will meet face-to-face on campus: Tuesdays and Thursdays 1:10 PM - 3:00 PM in Batmale Hall room 453 (Ocean Campus). This classroom has Apple MacOS computers for each student. It is CRN 34871 Section 002.
- You will need to use a computer so you can do homework for this class. Only a web browser is needed, so a simple computer or Chromebook is fine, but a phone is not enough - you need a full-size screen and keyboard. (A tablet with an external keyboard can work, but a Chromebook or simple computer is better.)
You may be able to borrow a chromebook and/or get wifi from CCSF. There will also be computer labs available to you on campus.
- My CS 111B course does NOT use zyBooks. If you want to use zyBooks, take one of the sections taught by Jason Schatz or Constance Conner.
- The textbook for my CS 111B course is free, online only:
HTML version of Think Java, Second Edition, by Allen Downey and Chris Mayfield
also available in PDF Format of the same book.
- Syllabus and Course Procedures are detailed here.
Miscellaneous Information: