Sprint 2 Summary

Sprint 2 Summary

1. Primitive Data Types

This unit introduces primitive data types such as integers, doubles, booleans, and characters. Key concepts include variable declaration, initialization, type conversion, and understanding scope. I learned how data types affect operations, memory storage, and arithmetic expressions.

2. Using Objects

I learned to create and use objects, focusing on class syntax, encapsulation, and method definitions. Key concepts include constructors for initializing objects, instance variables for storing state, and methods for behavior. This unit emphasizes the importance of using objects to model real-world entities.

3. Boolean Expressions and If Statements

This unit covers conditional logic with boolean expressions. Key concepts include the syntax of if, else if, and else statements, using logical operators (AND, OR, NOT), and nested conditions. I also practiced creating truth tables to analyze conditions and decision-making in code.

4. Iteration

Iteration is explored through loop constructs such as for, while, and do-while. Key concepts include loop control variables, the syntax for loop initialization and termination, and the significance of controlling loop boundaries. I learned to apply iteration for practical tasks like summing arrays or generating sequences.

5. Writing Methods

I learned to define and invoke methods, including method syntax, constructors, mutators (setters), and accessors (getters). Key concepts include return types, method overloading, and parameter passing. This unit emphasizes the importance of method decomposition for simplifying complex tasks and improving code organization.

6. Arrays

This unit introduces arrays as a way to store multiple values of the same type. Key concepts include array declaration, initialization, indexing, and accessing elements. I learned to iterate through arrays, implement searching and sorting algorithms, and understand the concept of array length and bounds checking.

7. ArrayList

This unit focuses on the ArrayList class from the Java Collections Framework. Key concepts include dynamic resizing, methods for adding (add()), removing (remove()), and accessing elements (get()). I explored differences between arrays and ArrayLists, emphasizing ArrayLists' flexibility in managing dynamic data.

8. 2D Arrays

In this unit, I learned about 2D arrays, which store data in a tabular format. Key concepts include declaring, initializing, and accessing elements in 2D arrays, as well as iterating through rows and columns. I practiced using 2D arrays for tasks like matrix operations and game board representation.

9. Inheritance

Inheritance is a fundamental principle of object-oriented programming. I learned about subclassing, superclasses, and the use of the extends keyword. Key concepts include method overriding, the super keyword for accessing superclass methods, and designing class hierarchies that promote code reuse and modularity.

These units collectively provide a comprehensive foundation in programming concepts, object-oriented design, and algorithmic thinking essential for further studies in computer science.