[Narrator] Welcome to Homework 1.
The way homework will work in this class is a little different from what you might expect if you took CS101 with me.
There will be regular homework questions; these will mostly be multiple choice
or questions where you need to enter a number or a string.
They might involve using programming to solve problems,
but you won't be expected to submit code.
You'll be writing programs to be able to answer the questions that are provided in the homework.
There will also be open discussion problems, and these will usually involve either
designing a solution to our problem, designing a protocol perhaps,
or analyzing a provided solution.
There's no graded aspect to these discussions,
but I think it will be a valuable part of the course for you to think on your own
how to solve these problems, and then to join the discussions
and the forums to see other how people have solved them, and to see whether your solution is popular
or other people notice problems in it.
The third kind of problem will be challenge problems.
These will be problems that you can submit answers to.
They'll be separate from the regular homework, and these are problems
that we expect to be quite challenging.
They'll probably require a fair bit of time to solve,
and they'll get more challenging as the course goes on.
It's not necessary to solve these to feel like you're following the course and getting a lot out of the course,
but if you do have time and enjoy challenges, I hope you'll tackle the challenge problems as well.
If you are able to solve a challenge problem,
please don't spoil the fun for other students in the class.
Don't post your solution to the problem until after the deadline has passed.
