Course typos and mistakes


Not necessarily a typo but in the JavaScript abstraction lesson video you mentioned your code works with 0 and negative. Although true for your implementation of the example if the second number is negative it will result in an incorrect value returned. Since it starts less than 0 it skips the loop and returns the value which is initially set to 0.


Well it’s confusing.



Understanding If-Else Deeper

there is a quiz.

Question 5 / 5 is:

What code be executed?

It should be

What code will be executed?


On the loops reading assignment.

Exercises is incorrectly spelt.

Question 1 would be better grammar if it said:

  1. What does looping control flow allow us to do?**********


Tokens, Crowdsales and Airdrops
Crowdsale Part 2 - Creating the contract

@filip You mention the shorthand operators like += as common practice, however they are actually vulnerable too an overflow attack, and shouldn’t be used when working with balances. Instead SafeMath libraries should be used along with the declaration using SafeMath as uint256; within the contract scope. Then operations should be done as amountRaised = amountRaised.add(amount); instead of amountRaised += amount;.



typo in “Understanding web technology - Hardvard lecture”… i.e. Harvard


Hi, just add the word ‘fill’ into the lecture heading to read:
This is a perfect and fun lecture from Harvard that will recap everything we’ve learned and will fill in some of the gaps you currently might have about HTML.


This link is not working… it’s on 'Welcome - Course Support - ( Cheers, Mark.


Thank you Mitch. That’s a very good point and you are completely right. It’s a mistake on my part not to have included that in course from the beginning. I’ve added a section in the Ethereum Smart Contract section to cover this.


Under “Integer overflow/underflow” there’s a couple of spelling mistakes.

“If you are not careful with how you use integers in your production code, this could result in hacks and lose (should be “loss”) of funds.”

“The underflow case is the more common on (should be “one”) in my opinion.” Alternatively just say “The underflow case is more common in my opinion.”

Not a spelling mistake but where it says “You can check out the library here.” - there doesn’t appear to be a link that takes you to the SafeMath library…


Hello. In the video “Iterating an Array” you said, the dollar sign is for JavaScript instead for jQuery. (time 1:10)


I am writing my forum post answers in HTML format.
The preview it shows me on the right makes everything look perfect, however, when I finally post it, it breaks.
I even copy pasted into atom and opened using chrome and everything looks good.

Check out my answer on the boolean expression reading assignment page to see what I am talking about. My #3 in the ordered list doesn’t show a number 3! :frowning:

Is this something I am doing wrong or is it toshi times?


I will save you the clicks.
First picture shows what I thought I would see:


Now once I click post, this is what I see:


Hi @minorthreatmikey,

Have you tried alternate browsers?

     <p>I've tried HTML in a post and it works fine for me...</p>

Your links and/or images don’t seem to be working either?

  • Copy and Paste your code.
  • Highlight the block of code.
  • Click the preformatted text button in the tools above (seen in the image below).


In the NEM introduction quiz, one of the possible answers says: “Normal programs that have executes some of its transaction on a blockchain” - the word “have” should be removed.


Hi @MitchPierias,
Thanks for the response. I tried opening my code in multiple browsers and it looks good in all of them. It even looks good on the preview to the right. But when I post to forum, my ordered list breaks. Maybe it has to do with Toshi Times forum on a Linux OS’s? That’s what I am using. Here is my code:

  <b><li>What are operators?</li></b>
    <p>Simply put, operators do actions on values.</p>
  <b><li>What binary operators do you know?</li></b>
    <p>All a binary operator is, is an operator that operates on 2 values (or operands) to get a result:
        <li>+  for addition</li>
        <li>-  for subtraction</li>
        <li>*  for multiplication</li>
        <li>/  for division</li>
        <li>=  for assigning</li>
        <li>==  for comparisons</li>
        <li>%  for modulus</li>
        <li>> for greater than</li>
        <li>< for less than</li>
        <li>&& for a logical AND</li>
        <li>|| for a logical OR</li>
        <li>&   for bitwise AND</li>
    Notice that pretty much all operators, including bitwise, logical, and comparison operators are considered binary operators because they do an operation on 2 operands.</p>
  <b><li>What logical operators do you know?</li></b>
    &&, ||, and !
    AND, OR, and NOT are the only 3 logical operators I know.


Hey @ivan,

Thank you for the excellent course!
Small question: is the “Optional: Javascript CS50 Lecture” placed where it should be?
I think it should be placed later in the course.

Keep up the good work.




Chapter 4 exercises has the tasks written twice.


I could be mistaken here but I believe the answer i’ve selected is correct…