Can You Teach Computer Science Without a Computer?

You can get students interested in computer science even if your school doesn’t have enough computers. In fact, you can get students so passionate about computer science before they even turn the computer on.

Forget about engaging them before you turn the computer on.  You don’t even need a computer to teach computer science. Watch how Computer Science Unplugged separated the computer from computer science.

Visit csunplugged.org for activities and teaching guides.

Guest Post: Tips For How To Teach Someone The Basics In Programming

Guest Post Written By: Joshua Harper

Computer programming is a very valuable tool in the modern world given that it helps a user develop analytical and critical thinking skill that can be used to tackle all sorts of complex computer problems or even start a new career. In fact, it’s fascinating to point out that programming languages can inherently change the way a user thinks about a particular problem. Computer programs are developed using programming languages that are usually written so that humans can understand.

However, which is the best way to introduce an average user, particularly someone with no previous programming experience? The main problem with teaching programming boils down to the fact that the programmer has to imagine the execution of the program without seeing any data. Nonetheless, here are some useful tips to help you teach the basics in programming more efficiently.

Tip #1: Clarify the value of learning programming

This is one of the most important steps that you should always consider, especially if you would like to teach the basics in programming to your kids. For instance, you need to emphasize that nearly all best-paying and interesting jobs will involve the use of computing skills, and countless will often be in technology start-ups involving some form of computing at their core. In other words, remind your learner how he/she can be the digital cathedral-builder of the future.

Tip #2: Prepare your student

Preparing the person you would like to teach can make it easier for him/her to grasp the most important basic computer programming ideas. This will help create a fundamental shift in the overall attitude a learner has towards computer programming. You can start by recommending certain books that suggest programming languages to your student. However, you should ensure that the programming language suggested in the book is very simple and easy for your student to learn. My choice is Ruby on Rails because it is the most productive way to build web applications and that application may be hosted on the web for free.  Also, encourage your student to read the book.

Tip #3: Combine ideas to form a working program

Basically, the best way to teach someone the fundamentals computer programming is by combining ideas to form a simple working program. For instance, you can start with simple programs like currency converters that use simple programming languages, and walk your way up to more complex programming languages once the student has learned to actively program using simple languages. It is important to remind your student that programming is a constant learning process that mainly involves learning new languages, and most importantly designing programs.

Tip #4: Co-relate your teaching to real-life examples

Technologists and mathematicians find it easy to teach their students using practical examples of how certain mathematical aspects, for instance, are applied in the real world. Therefore, you should also try applying the same idea when you’re teaching someone basic programming skills. As much as it’s quite evident that programming does not exist in isolation, you should correlate your teaching to real life examples, but in context of other scientific domains.

These tips will certainly help you teach someone the basics of computer programming, especially your kids. However, you should be aware of the current scientific developments to make your correlation to other scientific domains relevant to computer programming. You can use a compiler/interpreter for the programming language used by the books to help convert the written programming ideas into a machine code, so that your student can see how a program works.