CS 111B: Programming Fundamentals: Java
Course Information
Fall 2023 (8/16/23- 12/19/23)
CRN: 71518
This course covers programming fundamentals using the Java language, emphasizing an object-oriented approach to problem solving. Topics include classes, objects, references, dynamic memory allocation, inheritance, polymorphism, arrays, files, design and implementation of abstract data types, in numerical and non-numerical applications.
Mondays and Wednesdays from 9:10am-11am (Room BATL 453)
Textbook
By: Tony Gaddis
ISBN-13: 9780137451524
Publisher: Pearson Education
The 6th edition is also acceptable.
A physical book, digital copy, rental copy, or any other format of book is acceptable.
The text for the course is required.
Course Syllabus (subject to change)
Course syllabus
![](https://www.google.com/images/icons/product/drive-32.png)
Learning Objectives
Design, implement, test, and debug programs that use each of the following fundamental programming constructs: basic computation, I/O from console and files, simple graphical user interfaces that include events and listeners, exception handling, standard conditional and iterative structures, and the definition of methods
Design, implement, and use classes and objects with Java features including encapsulation, appropriately scoped variables, static and instance variables, inheritance (including overriding methods), and polymorphism
Implement basic algorithms to manipulate arrays, including multidimensional arrays
Java Software
The Java SE Development Kit (JDK), which can be downloaded from Oracle.
Eclipse is an open-source IDE for Java.
NetBeans IDE The Smarter and Faster Way to Code. Apache NetBeans 12 LTS
Java Documentation
Documentation for Java Standard Edition – Complete documentation of the Java language.
The Java Tutorials – Have step-by-step instructions for how to write Java programs.