- Team assignments: Section A; Section B
- Start: 2nd half of class, Thu 10/19
- End: Quiz in 1st half of class, Thu 11/2
- Requirements Due: beginning of class, Thu 11/2
In the previous sprint, we learned how to allow the user to enter a variable number of inputs and report on various characteristics of those inputs. But what if we would like to analyze and reanalyze those inputs? We could, for example, create 100 variables to store each input entered by a user, but then we would be limited to 100 inputs and would also have to keep track of which variables are being used and which aren’t when the user has fewer than 100 inputs. This would quickly become quite a coding mess.
When we need to conduct a variety of analyses on a sequence of values, a list provides a fairly straightforward way to manage the values. In this sprint, we learn about a particular type of list in Java (the ArrayList) and learn about key methods and processes for manipulating and analyzing lists.
Responsibilities (What you need to know):
In previous sprints I provided a generic list of responsibilities. In this sprint I am strongly recommending that all students engage in all of the following materials.
- Read Working with Lists in Java
- Creating a new list of a particular type
- Adding items to the end of a list
- Determining the size of a list
- Getting items from a list
- Adding items at a specific index in a list
- Removing items at a specific index from a list
- Sorting a list
- Common list actions: counting items and creating a sublist
- Creating lists of numbers
- Enhanced for loop
- Engage with online materials
The textbook also has a chapter section on ArrayList (Ch. 7.7), but it assumes knowledge of a Java concept called arrays. We’ll address arrays in Sprint 5. If you’d like to read Ch. 7.7 please do, but you may want to wait until Sprint 5.
Requirements (What you need to do):
Individual Requirements:
- Understand the concepts on the Responsibilities list.
Team Requirements:
- Complete the code in this project. All instructions are contained in the project comments.
Learning Resources:
- Online videos and problems (see Responsibilities list)
- Warm up Problems (Highly recommended)(Project here, instructions below)
References:
Quiz Practice:
More information may be posted later; use expert requests to ask for additional materials
In a flipped classroom we might adopt this schedule:
- Homework for Tuesday:
- Read Working with Lists in Java
- Watch ArrayLists through Lost in a Good Book 2
- Complete online problems #1 through #13
- Complete Warmup: String Lists
- Start Warmup: Whack-A-Mole
- Tuesday in class:
- Complete Warmup: Whack-A-Mole
- Start Warmup: Herding Cats
- Start Requirements
- Homework for Thursday:
- Reread Working with Lists in Java
- Watch all “Quiz: Array Algorithms” videos
- Complete online problems #14 through #20
- Continue warmup: Herding Cats
- Continue Requirements
- Thursday in class:
- Complete Warmup: Herding Cats
- Continue Requirements
- Homework for Tuesday:
- Continue Requirements
- Review written and video materials
- Review online problems
- Review for Sprint 4 quiz
- Tuesday in class:
- Complete requirements
- Engage in quiz review exercises
- Homework for Thursday:
- Practice and review for quiz
- Thursday in class: