- Team assignments go here
- Start: 2nd half of class, Thu 8/31
- End: Quiz in 1st half of class, Thu 9/14
- Requirements Due: beginning of class, Thu 9/14
Fundamentally, computers work with data:
- Data creation and acquisition
- Data storage
- Data manipulation
- Data presentation
Programming languages define how these data actions take place. Java is a popular programming language that uses an object-oriented approach to support these actions. In this sprint, you learn the common ways to create, acquire, store, manipulate, and present numerical and textual data in addition to learning how to work with more complex data objects composed of numerical and textual data. These “data actions” form the foundation for engaging in more complex computing tasks in later sprints.
Responsibilities (What you need to know):
- (1.4) Work in the BlueJ environment
- (1.4) Create your first program (“Hello, World!”)
- (1.5) Understand when to use System.out.println and System.out.print
- (1.5) Understand the difference between (3 + 4) and "3 + 4" in Java
- (2.1) Define and distinguish the concepts of object and class
- (2.2) Create native data type variables and understand best practices for declaring variables
- (2.2) Understand the concepts of variable type, variable name, and variable value
- (2.2) Understand that a variable’s type and name cannot change, but a variable’s value can change
- (2.2) Understand that a variable’s value can change relative to its current value
- (2.3) Call the methods of an object variable using appropriate arguments
- (2.3) Understand the return value of a method and store a returned value in an appropriate variable
- (2.4) Create object variables using a constructor
- (2.5) Understand the void data type and the difference between accessor and mutator
- (2.6) Be able to read API documentation to understand how to construct any type of object and call its methods
- (2.7) Understand a simple technique for verifying the correctness of code (“writing a test program”)
- (4.1) Understand key native data types: int and double
- (4.2) Use mathematical operators: + - * / %
- (4.2) Understand how the operators work with different numerical types (especially divide / and modulo %)
- (4.2) Use casting to convert a value of one type to another type
- (4.3) Use the Scanner class to acquire input from the keyboard
- (4.5) Understand how to work with String object variables
Requirements (What you need to do):
Individual Requirements:
- Understand the concepts on the Responsibilities list.
Team Requirements:
With the exception of Req4ImageFilters, all instructions for completing the requirement are contained in the code files as comments.
Here are instructions for Req4ImageFilters
There are extra practice problems you can try to work up to the requirements set. They are linked below, in Resources. Use this list to find similar practice problems to problems in the assignment set:
- Req1Pixel - PixelPractice first try Warmup1PrintVariablesMath and Warmup2MyBirthday
- Req2Pizza - PizzaPractice first try Warmup1PrintVariablesMath and Warmup2MyBirthday
- Req3String - StringPractice first try Warmup1PrintVariablesMath and Warmup3DivisionStrings
- Req4ImageFilters first try Warmup1PrintVariablesMath and Warmup3DivisionStrings
More information may be posted later; use expert requests to ask for additional materials
In a traditional classroom we might adopt this schedule:
- Homework for Tuesday: Read 1.4, 1.5, 2.2, and 4.1 - 4.5 in book
- Tuesday in class: Lecture on Variables and work practice problems
- Homework for Thursday: Read 2.1 - 2.7 in book & complete Req 1. Start Req 4.
- Thursday in class: Lecture on Objects and work practice problems
- Homework for Tuesday: Complete Req 2 & Req 3. Continue working on Req 4.
- Tuesday: Review for quiz, take questions, finish Req 4.
- Homework for Thursday: Do practice problems and be ready for the quiz