Course Expectations#
Assignments and Grading#
You will be given an assignment every week. The assignment will include readings and short coding tasks.
Each assignment has an associated quiz. You can retake any quiz as many times as you like (subject to the 70%/30% retake weighting). However, in order to retake a quiz, you must first write up the code from your original quiz, make sure it runs correctly, and show me.
You will also have at least one larger coding project, which you will present at STEM + Arts Galleries and/or the Celebration of Innovation.
Weekly schedule#
Once we get into the semester, a typical week will look like:
1st class: Code demo for new unit, discussion and work period
2nd/3rd class: Work period (coding, quizzes)
Time commitment#
Put time in your schedule to write code every day. You should aim for 7 hours/week. I will be giving you as much time as possible during class to write code, ~1-2 hours/week.
Your goal as you approach the week’s exercises is to be able to do each exercise without hesitation, within (roughly) 5 minutes. For some exercises, the first time you do it might take 20-30 minutes. Or you might get stuck and need to look at a solution or ask a friend about it. It is your responsibility revisit the exercise later to make sure you can solve it on your own without hesitation.
You should not need to “study” for the quizzes. The quizzes are meant to assess whether you have absorbed the new concepts and can solve new but similar problems. If you can do each homework exercise without hesitation, you will be able to handle the quiz problems.
There are no tests or midterm/final exam in this course, so no week will be any more difficult or stressful than any other. Instead, so you should be putting in a strong, sustained effort every week.
Use the in-class work periods effectively! It is easy to get stuck on a problem. The fastest way to get unstuck is to talk to your classmates (or me). After you’ve done the exercises, help your classmates! Talking about problems and explaining solutions is a great way to solidify your own knowledge. We’re all here to learn together.
Usage of Artificial Intelligence (AI)#
Recent advances in AI have resulted in great improvements in AI-based code generation. Generated code may be correct, but also may have subtle bugs. Remember that your goal in this course is for you to improve your coding skills.
Coding Assignments#
The coding assignments are for you to practice your skills, and to practice solving problems. Your goal is to be able to write a solution to a similar problem by hand without help. Give yourself time to struggle with the solution, ask classmates, or ask me if you are stuck. You are welcome to use AI-generated code to help you, but keep your goal in mind.
Quizzes#
You will write your quizzes by hand on paper. No AI - real intelligence only.
Project(s)#
If you feel that AI will help your project, you are welcome to use it.
Any use of AI for assignments or projects is subject to the following:
You must fully document any use of AI code generation. You may not take credit for code that you did not write.
You are responsible for getting your program to run, including debugging all issues. Remember that debugging your own code is difficult enough; debugging AI-generated code can be even more difficult.
Prefer open source, locally installed AI to 3rd party web services. If you do use a 3rd party web service:
Be sure not to submit any identifying information
Abide by the service’s license agreement
Abide by Marlborough’s Student Technology Responsible Use Policy