Our CompSci classes are structured so that you should always have plenty to do. But with as many different personalities as we have in class it’s just not possible to have everyone finish up a lab set at exactly the same time. Sometimes you’ll struggle with a concept. Sometimes it’ll just click and you’ll rocket through an entire set with time to spare.
The solution is to break our lab sets into groups. Each lab set will be split into a required set, a bonus set, and a challenge set; and our assumption is that most students will not be able to finish every single lab in the set. Of course, that should be your goal. The more code you write, the better you get at writing code. It’s just like anything else. You get better with practice.
When you turn in labs, the only ones that you will lose credit for if you don’t finish are the required labs. They’ll either go in as the grade you earn or a zero if you do not get them turned in. If you do not get a bonus or challenge lab turned in it will go in the gradebook as an X which omits it from your average, but they are worth more than 100 points if you do get them in.
Sometimes though you may finish every lab in all 3 groups. Here’s a few things that you can work on in class if you’re done with labs, and a few that you can’t.
What not to do
Let’s start with what you can’t do if you do finish and turn in a complete lab set.
First, playing games on the computer is out. It’s great that you finished, but that means you have time to work on getting better at CompSci. Just playing random internet games will not help with that.
It also does not become a study hall for other classes just because you finished.
And of course sleeping, playing around on your phone, or texting friends are not an option. Pretty much if it’s something that’s not allowed in class, it’s not allowed when you’re done.
So, what can I do?
A quick caveat. Before you move on to any of this you must be done with all labs in a set. That’s all required, bonus, and challenge. You can’t just decide that doing the required labs was enough.
As we work through the year, if you have an idea for a project that you want to work on after lab assignments are finished, let’s talk. If it’s related to Computer Science, and that’s a really broad topic, you’ll probably be okay. Want to make a game? … an Android app? … an iPhone app? … a website? Come talk. We’ll see what we can work out.
There are a few websites that you can go to when you’re done. They’re all related to CompSci, and a few are even games that you can play to build up your CompSci skills.
CodingBat is a site written by a CompSci lecturer at Stanford where you can work on your coding skills by implementing small methods in either Java or Python.
The biggest advantage here is that you can focus on just the method and not worry about any of the overhead of Java when you’re working. Some problems have solutions that you can view, a few have hints, and there is a really good set of help pages.
From their about page
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.
LightBot is probably one you’ll grow out of early in the year, but it’s a lot of fun. Your goal is to program a little robot to turn on all of the lights on a map. To finish all the maps you’ll need to write loops, methods, and even a bit of recursion.
From their site
Launched in 2013, Code.org® is a non-profit dedicated to expanding access to computer science, and increasing participation by women and underrepresented students of color. Our vision is that every student in every school should have the opportunity to learn computer science. We believe computer science should be part of core curriculum, alongside other courses such as biology, chemistry or algebra.
On the site there are all sorts of lessons, in all levels, that you can work through to practice your coding skills.
Again, I’ll just paste as description from their site
Codecademy is an education company. But not one in the way you might think. We’re committed to building the best learning experience inside and out, making Codecademy the best place for our team to learn, teach, and create the online learning experience of the future.
Codecademy appears to be geared towards older students. There aren’t as many games and graphic type assignments, but there is a lot there.
I’m going to guess Code Combat is probably where most of y’all will wind up when you’re done with lab sets. It’s an online game where you explore a world using code. You’ll type commands to lead your character through the world, solving problems along the way.
What did I miss?
Any other sites you know of that’ll help you perfect your CompSci skills when you’re done with labs? Let me know down in the comments.