Would you like to learn computer programming, but you’ve been frustrated by courses or books that give you too much – or too little information – leaving you feeling hopelessly lost?
Those approaches remind me of a guitar teacher I had years ago. He had two instructional methods – neither of which worked for me. He would either teach me to play one specific song, then I could play that song – but nothing else. Or he would play something complicated while I sat, watching him. I was supposed to pick up his guitar-playing skills by osmosis I guess, but that didn’t happen.
I’ve taught computer programming for many years and have found the most effective approach is to teach the tools one by one, giving exercises or assignments that allow students to practice each new concept until mastered. As the student learns, he or she gradually builds larger, more complex programs. While this may not be the most glamorous technique – it works! Students gain confidence as they truly understand how to use the programming tools.
What are those “tools”? Most programming languages have the same basic features. I use python 3 in this course. (The simplicity, but power, of python makes it an excellent language for beginning programmers). After completing the course, students will be able to go further with python or easily switch to another programming language.
Students learn programming by programming! You will learn a lot bycompleting each assignment on your own. There is inevitably somestruggling in the early parts of any programming course. You will learnfrom your mistakes, becoming a stronger, more confident programmer as aresult.
I don’t give out code files for the assignments. However each assignment has an accompanying video that reviews my solution. The solution videos should be viewed after completing your assignment to the best of your ability.
A printable pdf checklist is included to chart your progress in the course.
In this course, you’ll learn:
•How to use a basic code editor (the free Wing IDE)•Variables, variable types, and conversions•Conditional statement (if, elif, else)•Boolean Logic•Repetition using for and while loops, nesting loops•Lists (similar to arrays in most other languages)•String processing•Random number generation•Functions•15 programming assignments are given. For each assignment, there is a video showing my solution for that assignment.•The assignments are text-based (no graphics or gui). This keeps the focus on learning the language and programming logic, building a strong foundation for more advanced programming.