Reasons to use Python
Posted on May 12, 2018I'm a polyglot computer programmer. I am proficient with C, C++, Visual Basic 6.0, C#, PHP, and Python. I have basic knowledge with Java, Go, and Pawn[1], but I am very confident I can code with these if I have the manual available.
I personally like Python the most. In this post, I'll point out the advantage of using Python.
>
> Miss Kobayashi's Maid Dragon is an anime where the main character is surprisingly not a teenager but a young adult who have a job as a programmer. Her using Python is just a …
Categories: Programming, Python
My choice of Programming IDE: Notepad2
Posted on May 6, 2018I've been programming since I was a kid. I've experienced saving my code in numerous ways: using the blue IDEs (Turbo C), "copy con <filename>", visual studio (Visual Basic and C++), emacs, vi, and notepad2.
For the last 7+ years, I've been using notepad2 almost exclusively for Python programming. There is a method to my madness.
Before I started teaching programming to college students, I was an emacs user. The idea of having an IDE that you can program appeals to me. I like the idea of an IDE that is custom made to my own intuition …
Categories: Programming
Projects for Python beginners
Posted on May 5, 2018(updated May 6, 2018)
After going over some beginner-level programming projects, its time to level up and evolve out of being a beginner. Its time to take you out of your comfort zone and become a Python programmer [1].
These Python projects are selected with the following in mind:
- You can use the skills you've learned from these projects as a foundation for other projects.
- You will learn the basics of a specific IT subject. If you are going to college, you can use these as your basis.
- These projects can help show potential clients/employers that they should …
Categories: Programming, Python
Projects for Programming Beginners
Posted on May 4, 2018As a teacher, beginners often ask me these project-related questions:
- I've just learned the syntax of this new programming language. What do I do next?
- I want to be a programmer. What software should I make next?
- I am applying for a job. What projects should I build to get hired?
- I want to be the very best. Like no one ever was. Tell me what to make.
Learning a new skill is relatively easy. You just need to study the basics, the mechanics, the terminologies, and your stance while doing that skill (think of a stance like the …
Categories: Programming, Python
Programming learning tip: Stop copy-pasting
Posted on May 3, 2018When I am learning a new library or programming language, I don't copy-paste. I type the code snippet manually.
In order of importance, the benefits of typing code are:
- You are actively thinking what you are typing. You are unconsciously learning the code as you read the text.
- You get extra time thinking how the copied code fits in your existing code.
- You get typing practice
I strongly believe that copy-pasting inhibits learning, that when I teach programming, I intentionally write on the whiteboard to force the students to type.
If I have an extra monitor, I would move …
Categories: Programming, Teaching
My suggested Hello World for introducing programming to non-programmers
Posted on April 1, 2018[read more]In accordance with the ancient traditions of our people, we must first build an app that does nothing except say "Hello world".
>
> -- React Native's tutorial
"Hello world" is very useful as an introduction to a library or a programming language. The reasons for this are:
- Almost all programs need to output to screen.
- It tests that the library or programming language is working. (this simple test is called a black triangle)
- By focusing on one thing, you can have a simple understand of how the code is written, what tools are needed to execute, and satisfaction that …
Categories: Programming
How I teach Python's Anonymous functions
Posted on March 1, 2018A lot of people switching to Python tells me that they don't understand lambda or anonymous functions. For the purpose of teaching programming beginners this, I make sure that they first understand the following fundamentals:
- data types
- lists
- list.sort()
- functions
# The fundamentals of anonymous functions
## Data types
While its basic, I need to check that my students have at least a basic knowledge on this. This is what I cover before the first hour of class is over.
## Lists data type
Whether the students know of data type from previous programming languages or not, I'll introduce lists …
Categories: Programming, Python
Global Game Jam 2010: Programming
Posted on Jan. 16, 2018Join me as we look at what went right and what went (hilariously) wrong on the technical side
---
Like I mentioned in my experience on GGJ2010:
> I've always wanted to be a game programmer. I will directly attribute my skills (and blind spots) on coding to my early attempts at making a game engine.
>
> Too bad I've never made an entire game. Its always demos and proof of concepts for my engine. That changed when I joined the Global Game Jam on 2010.
This is the first time I made a non-demo game in python …