This foundational course for computer science majors introduces the fundamental concepts of programming from an object-centric perspective using Java. Includes a brief introduction to computing (historical development, computing systems, algorithms, and the nature of programming languages) and the object-oriented paradigm for software development. Topics include: objects, classes, methods, simple data types, control structures, and the use of indexed-list data structures such as arrays or strings. Includes discussion of the ethics and responsibility of computer professionals with respect to information rights. Lecture: 3 hours per week. Lab: 2 hours per week.
Prerequisites: MassBay placement into a 100-level Math (not MAC) and CS 110 Introduction to Computer Science, or instructor's permission.
In lieu of a traditional textbook, this course will make use of Open Educational Resources (OERs). During the first week of class, we will make accounts and register for the learning platforms we will be using.
Week | Reading |
1 | Supplemental Readings: The “online brain”: how the Internet may be changing our cognition Analyzing the role of diet and exercise in myelin production |
2 | Runestone textbook Chapter 1: "Getting Started and Primitive Types"
Runestone textbook Chapter 5: "Writing Methods" Supplemental Readings: David Eck book, Chapter 2, Chapter 6 |
3 | Runestone textbook Chapter 2.1-2.5: "Using Objects"
Runestone textbook Chapter 6.1-6.6, 6.8-6.9: "Writing Classes" Supplemental Readings: David Eck book, Chapter 5 |
4 | Runestone textbook Chapter 3: "Boolean Expressions and If Statements"
Runestone textbook Chapter 4.1-4.2: "Iteration/Loops" Runestone textbook Chapter 7: "Arrays" Supplemental Readings: David Eck book, Chapter 3.1-3.6, 3.8 |
5 | Runestone textbook Chapter 1.4.6: "Storing User Input in Variables"
JavaDocs for Scanner, String, PrintWriter, and LocalDate. Supplemental Readings: David Eck book, Chapter 11.1-11.3 |
9 | Runestone textbook Chapter 6.7: "Static Variables and Methods" |