This is a course on object-oriented programming, comparing C++ to Java.
It is also strongly focused on using tools to improve the quality of software development, including:
Estimates of the required effort to do well are:
All of the examples, exercises, and notes will be on GitHub.
All of the quizzes will be on Canvas.
All of the tests will be on HackerRank.
We'll start each day with a four min, multiple-choice quiz on Canvas, during the first five min of class.
I'll use the Socratic Method to have a discussion with you about some part of the material, often involving a piece of code.
I will always be courteous and respectful regardless of your level of experience, and you will find that those interactions will really get to the issues that you're having trouble with and you will learn a lot more.
That then makes the class highly interactive, so I respectfully request that you refrain from using your phones, tablets, or laptops during class unless we're doing an exercise.
We'll also do some exercises on paper and on HackerRank.
All of the projects will be in C++ on HackerRank.
All of the tests will be in C++ on HackerRank.
Piazza will allow you to ask questions outside of class that everyone will get to see and that when I or graders answer, everyone will be able to benefit from.
Please don't be shy about asking questions on the forum. No technical question is too basic to ask when learning new concepts and everyone will benefit from seeing the questions and the answers.
It's also possible for you to answer questions on that forum and that's also very valuable.
If you have a question that is personal in nature, e-mail me via Canvas.
I would like this class to feel like a community. To that end, I request that you follow these guidelines.
Communicate with me about any problems you're having or about any special help that you might need, and please make it a point to communicate with each other, as well.
Interact heavily during the class. Whatever questions you have don't hesitate to bring them up. I am very confident that others in the class will have the same questions. No question about the subject is inappropriate, regardless of what background you may be missing. Getting answers to your questions is the only way to really get value out of the class.
Be on time at the start of class.
I very much welcome any suggestions you may have for improving the class.
You will get out of this class what you put into it. Please be positive, proactive, and respectful in making this class what you want it to be.