info@edurolearning.com
Select Page

C++ Programming Lock-In for Seriously Wannabe Geeky Students

At my school, the Western Academy of Beijing, we don’t have a formal coding class although we do have many high school wannabe coders in our extra-curricular Geek Force club. This year the club members decided that their goal for the year was to learn how to code – and not just in any language but C++, a derivative of the mother of all programming languages (which to me is C).

So why C++? Firstly, our Geek Force know that C is widely used in gaming. Both C and C++ get you close to the silicon allowing for extreme optimization to maximize the resources available and make games slicker and faster. Of course, we realize that we won’t get to that level of complexity nor gain a really deep understanding at object oriented coding; however, by learning C or C++, we do know that it will be easy to pick up another language. Secondly, I used to be a C and unix programmer back in the day (yes, before C++ was even invented), so my personal challenge was to revisit C and pick up C++.

Learning to program takes time and, as we all know, everyone learns at a different pace. Some have programming experiences from dabbling in Python and HTML whereas others are complete novices. We decided to follow an online tutorial (C++ in 21 days) and set weekly targets for everyone to complete sections of the tutorial, but as we only had a weekly lunchtime slot, we found that, collectively, we were not making much progress. What was needed was a big chunk of time to really lay down the basics and learn together – hence the lock-in concept.

It takes some effort and programming experience to organize such an event and so I enlisted the help of@rgentleman, our Grade 6 MYP Design teacher, also a programmer in a former life. Our objectives for the lock-in were:

  • to have time to develop C++ programming skills
  • to have a friendly competition where everyone can compete no matter what level of expertise
  • and to have fun!

We organized 3 x 30 minute C++ challenges (sprints) with 3 x 15 minute team challenges in between each sprint plus some time for the obligatory pizza and diet coke! Surprisingly on a Friday night, we were joined by a number of budding geeks as well as two colleagues who wanted to join the competitive fun.

And here are some examples of the programming challenges:

Basic: First Program HelloWorld.cpp

Watch this short youtube video [C++ Hello World using Xcode (Mac)] to create your first program Hello World. Modify the code to output your name and age:

Hello World. My name is x and I am y years old.

Intermediate: Currency Conversions (using nested if statements)

  • Input: Choice of currency (eg USD, RMB or one more of your choice), amount
  • Processing: convert from choice of currency to target currency (eg USD converted to RMB)
  • Output: amount in target currency (eg RMB)

Advanced: Currency Conversions (using switch statement)

  • Extend the above program to have a number of currencies (maybe up to 5) so that the user can select the input currency and the target currency.
  • Bonus points for using constants (which are declared in UPPER CASE
  • Bonus points for using an easy user interface (for example, enter 1 for RMB, 2 for USD…)

The Arduino Challenge

In random teams of 3 or 4, students were given an Arduino set and access to a large number of input and output devices (lights, fans, sensors etc). The challenge was to create something – they could use the internet and even download code – however they had to modify the code or the structure and be able to explain what they did.

If you would like to have access to the challenges, please contact me by email (madeleine_brookes at wab.edu or madeleine at edurolearning.com)

Please note that this post has been cross-posted from my personal blog.

Related Posts

Submit a Comment

Your email address will not be published. Required fields are marked *

SUBSCRIBE TO OUR MAILING FOR TEACHERS & GET THIS FREE DIGITAL DOWNLOAD

6 Questions to Ask Yourself when Creating a Tech-Rich Lesson

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR ADMINISTRATORS & GET THIS FREE 8-PAGE DIGITAL DOWNLOAD

3 Reasons Why School Leaders Should Care About Technology for Learning

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR PARENTS & GET THIS FREE DIGITAL DOWNLOAD

Managing Devices at Home: Conversation Starters & Family Media Agreement

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR TEACHERS & GET THIS FREE DIGITAL DOWNLOAD

6 Questions to Ask Yourself when Creating a Tech-Rich Lesson

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR ADMINISTRATORS & GET THIS FREE 8-PAGE DIGITAL DOWNLOAD

3 Reasons Why School Leaders Should Care About Technology for Learning

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR PARENTS & GET THIS FREE DIGITAL DOWNLOAD

Managing Devices at Home: Conversation Starters & Family Media Agreement

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR TEACHERS & GET THIS FREE DIGITAL DOWNLOAD

6 Questions to Ask Yourself when Creating a Tech-Rich Lesson

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR PARENTS & GET THIS FREE DIGITAL DOWNLOAD

Managing Devices at Home: Conversation Starters & Family Media Agreement

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR ADMINISTRATORS & GET THIS FREE 8-PAGE DIGITAL DOWNLOAD

3 Reasons School Leaders Should Care About Technology for Learning

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR ADMINISTRATORS & GET THIS FREE 8-PAGE DIGITAL DOWNLOAD

3 Reasons School Leaders Should Care About Technology for Learning

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR PARENTS & GET THIS FREE DIGITAL DOWNLOAD

Managing Devices at Home: Conversation Starters & Family Media Agreement

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR TEACHERS & GET THIS FREE DIGITAL DOWNLOAD

6 Questions to Ask Yourself when Creating a Tech-Rich Lesson

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR ADMINISTRATORS & GET THIS FREE 8-PAGE DIGITAL DOWNLOAD

3 Reasons School Leaders Should Care About Technology for Learning

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR PARENTS & GET THIS FREE DIGITAL DOWNLOAD

Managing Devices at Home: Conversation Starters & Family Media Agreement

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR TEACHERS & GET THIS FREE DIGITAL DOWNLOAD

6 Questions to Ask Yourself when Creating a Tech-Rich Lesson

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR ADMINISTRATORS & GET THIS FREE 8-PAGE DIGITAL DOWNLOAD

3 Reasons School Leaders Should Care About Technology for Learning

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR PARENTS & GET THIS FREE DIGITAL DOWNLOAD

Managing Devices at Home: Conversation Starters & Family Media Agreement

You have Successfully Subscribed!

SUBSCRIBE TO OUR MAILING LIST FOR TEACHERS & GET THIS FREE DIGITAL DOWNLOAD

6 Questions to Ask Yourself when Creating a Tech-Rich Lesson

You have Successfully Subscribed!

Share This