Since Milestone #1, you have learned a lot. Hopefully, you learned how to write your own study guide thanks to my definitive study guide, but since we’ve just finished an important chapter, I thought that a brief recap would not hurt.
Academic Life
You now hopefully have a clear picture what this class is about, and what a CS / IT / Cybersecurity (Engineering) degree can bring you and asks from you.
Not having all the time straight A’s as you (maybe) used to do in High-School is common in College.
That, indeed, this class was constantly re-using what you had studied before, and constructing on top of what you studied the week before.
The Concept of Class
That the implementation of a class was taking place in a different file, that uses the class keyword,
What a member of a class is, that attributes represent what an object is, and methods what it does (or how it can be acted upon),
That, in all the scenario that we looked at, attributes were private, so that application programs would have to use methods to access them (to get or set their values),
How an object could be created, or instantiated, and that every object had their own instance variables,
How UML diagrams were a useful abstraction to design classes.
Scopes and Conventions
That a variable was accessible at a particular time and place,
That renaming had to be uniform in the scope of a variable or a method name,
That multiple conventions existed regarding the naming of attributes and methods,
That attributes had default values, that could be changed if needed.
Methods
The difference between arguments and parameters,
The importance of constructors, the difference between default and custom constructors, and how to write your own,
The definition of the signature of a method,
What overloading means,
The importance of the ToString method,
That a method can call other methods (we have not directly experienced that, but some of you actually used it spontaneously!).
Various
How and when to use constant values,
How to use and navigate in the Math class,
What was the benefits of using format specifiers.
Using Softwares
How to have 2 .cs files open in one project in VS,
How to “undo” things, using CTRL + z,
How to compress, extract, download and upload zip files.
An Additional Example
As an example using (almost) all of the notions listed above, please have a look at the Marker class: the code is intentionally not commented, if you can read all of it, understand all of it, and explain it to yourself, a classmate, a friend, or somebody else, then you should be good with classes!