This was CS50


Congratulations to everyone who submitted projects for the CS50 Fair last week! Your projects looked amazing! A fifth grade student who visited our fair even asked how he could access your websites at home!

The following items are due this week in order to complete semester two:

  1. Submit Project to dropittome
  2. Screen Video of Project (you may use QuickTime Player)
  3. Final Reflection

This week we will be looking at some final topics such as Cybersecurity, and Artificial Intelligence.

As you think back on our year of CS50, think about how far you’ve come! It’s not that long ago you were struggling to get hello.c to compile and debug mario.c. Now you all have final projects you can be proud of! Please do stay in touch as you move forward in your high school and college careers, and in life!


Week 16

Getting Ready for Friday’s CS50 Fair!

If your code is uploaded please check the link here to make sure it works properly.

Please upload your code today (Wednesday) if possible. Tomorrow, during period 2, my class will be taking a DOE Survey and may not have much time to work. I will stay after school on Thursday, to help anyone who wants assistance debugging their code.

Also complete and upload your tent card.

IMPORTANT: DO NOT upload individual files to the dropittome address below. This will NOT work. You must upload a compressed folder, that contains one top level project folder from c9 with files in the same relative position. The outer folder should have your team members names as the name of the folder. After you’ve compressed it it should be named something like If you can’t create a zipped file then just rename the .tar.gz file with your team names and upload that. Again, uploading individual files will not work.

When you project is totally completed, please follow the steps below carefully so your site can be run without starting up cloud9.

  1. Download the folder that contains all the elements required for your project.
  2. Drag the …tar.gz file out of your download folder and double click on it
  3. Double click on your home html page. This should open it in a browser and allow you to test out your site. If something is not right (either missing elements or incorrect styling) it means some file you are using was not included in your download. Try going back to your c9 workspace and downloading the folder one level higher, and follow steps 1 to 4 to make sure that all necessary files are now included.
  4. When all looks good, put your unstuffed downloaded folder in a new folder. The name of the new folder should include the names of your teammates.
  5. Control-click on this folder and select “compress”. You should get a zip file.
  6. If all is good and you can’t make a zip file, use the .tar.gz file to upload.
  7. Go the the website The password is CS50. Drag this zip file into the window where it says “Drag Files Here”.

Also be sure to send me your tent card and the link to your video to


Week 15

Adding comment to your website

For anyone who wants to add comments to their websites, I now have several samples available that you can incorporate into your websites.

  • For user comments (previewwithout using materialize, (Facebook style)  type the following into your terminal window to download:


  • For user comments (cannot preview without login code) requiring login (and optional topics)


  • For uploading and viewing pictures (preview) with comments


  • For uploading comments (preview) using Materialize


These all use a database named testdb which you will eventually have to change, but I suggest you get this working within your own application first, then we can change the database name. I need to create permissions on new databases before they will be operational.

When you are finished with your project:

Complete the tent card. Download template here, complete and email to me at Tent Card

  1. Create a 2 minute video using quick time screen movie. To share you can upload to youtube and share the link with me, or share as a googledoc at
  2. Complete a reflection on the process of creating your project.
  3. Get ready to enjoy our June 3 celebration!

Week 14

We are now past the halfway point in completing final projects. Please make sure you are on track to be completed by no later then Memorial Day Weekend.

We have approval to have a CS50 Final Project Fair on Friday, June 3. We’ll use the space by the windows in the front lobby, and display projects on mac laptops. You may want to make sure your program looks good on a small display.

All groups should already have current proposals/descriptions of your projects submitted to me. If you’ve haven’t submitted, or you’ve changed directions, please email to me asap at Be sure to include all group members names, and their responsibilities.

When you are done, make a 2 to 3 minute video of your project using the quicktime player on the classroom iMacs. You can select New Screen Recording under the file menu. This will record all actions on your screen. This should be done with a voiceover explaining what you are doing as you click through and run your program.


Week 12/13

This past week all students and groups made up their Scrum Boards, detailing all tasks necessary to complete their final projects. These should be updated every day or two, as you complete tasks, and modify or add new tasks to your TODO lists. We are also having Standups every day before getting to work, to help keep everyone on task and productive.

We have three more weeks to complete projects. Projects are due the Friday before Memorial Day. As you plan, make sure you leave time for testing, and to making a 2-minute video (you can use QuickTime and make a screen recording) to submit with your project. You will also need to write a reflection on the development process as part of your final grade, which can be done during the first week of June.

There will be no final exam. You final project is your final assessment. So be sure to put in your best effort! I am extremely impressed from what I have seen so far!

For those wanting to have an account registration and  log-in, I have developed some html/javascript that will allow you to do this. Copy and paste the line below into your terminal window, and then unzip.


Happy coding!

Week 11

Final Projects are officially underway!

Proposals are in (or should be) and individuals and groups should be well into the planning stages.

This week I will be doing walkthroughs of how to create some functional components you may need. For each of these, I am providing you with the code that I’ve demonstrated in the walkthroughs. You can download these directly into your c9 workspace by copying and pasting the wget or git clone line into your terminal window. For the zipped files, type in unzip and the filename after downloading.

For the user comments javascript file (when saving data), where it says:

username: ‘<API_KEY>’,
password: ‘<API_PASSWORD>’

change it to:

username: ‘ownegulinumestandeniveri’,
password: ‘2f23a60d25bdf194b731053757f0db90a5345d5a’

And on line 11, where it revers to <DATABASE_NAME>, choose your own database name. You do not need to include the <> brackets.

The due date for your final project is May 27th. We will have a celebration and public display of your projects the following week after Memorial Day.

Here are the project requirements, and modified rubric, which includes your feedback.

Summative Assessment: Final Project
General Requirements

This performance task requires you to develop a program on a topic that interests you or one that solves a problem. It is strongly recommended that a portion of the program involve some form of collaboration with another student in your class. Your program development process must involve a significant portion of work completed independently that requires a significant level of planning, designing, and program development.

You are required to:

  • Iteratively design, implement, and test your program.
  • Independently create at least one significant part of your program.
  • Create a video that displays the running of your program and demonstrates its functionality.
  • Write responses to questions about your program.
  • Include your entire program code

Grading Rubric

Screen Shot 2016-04-19 at 6.46.52 AM

If you are working on a game using html/canvas and javascript, take a look at the code for the snake game here.


Week 10

This week everyone should be finished/finishing with 4-1 Search Engine, and 4-4 Temperature.

Please note that CS50 Finance is an optional, “hacker edition” problem.

Final project proposals are due on Friday, April 15th. If you don’t have it ready to hand in on that day, please email to me at asap.

For those students that want to develop a game as their final project, I’ve created a version of javascript version of Breakout that you can complete, and then improve upon and personalize. Please be sure to request a walkthrough of the code if this is a direction that interests you.

This week you will be working with your “final project” teams to diagram/flowchart/pseudocode/storyboard your project. The idea here is to detail exactly what exactly each part of your project will do. You will then prioritize the various tasks/parts/steps, so that you know exactly what must be done(and which parts would be nice but not absolutely necessary) to have a successful working project.