MrValdez's Blog

My choice of Programming IDE: Notepad2

Posted on May 6, 2018

I'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 ...

[read more]
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 ...
[read more]
Categories: Programming, Python

Projects for Programming Beginners

Posted on May 4, 2018

As 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 ...

[read more]
Categories: Programming, Python

Programming learning tip: Stop copy-pasting

Posted on May 3, 2018

When 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 ...

[read more]
Categories: Programming, Teaching

What makes a great student? They don't need to be spoon-fed

Posted on May 2, 2018

I've been a teacher of computer programming for a while now. I've taught people on how to code and how to think like a programmer. Over the years, I've noticed students who would become leaders in their field.

There are a lot of ways a student can learn from a teacher. These are my essays on the subject.

Motivated students don't wait for instructions

For an average teacher, it would be great if the students listen intently to everything you say and do what you tell them to. This is fine for an average student, but ...

[read more]
Categories: Essays, Teaching

What makes a great teacher? They can teach a complicated subject and make it accessible to other people

Posted on May 1, 2018

I've been a teacher of computer programming for a while now. I've taught people on how to code and how to think like a programmer. Over the years, I've been developing strategies and philosophies on teaching. I've decided to put them in writing.

There are a lot of ways to become a great teacher. These are my essays on the subject.

Matt Striker is a teacher who wrestles. ...or is he a wrestler who teaches?

Great teachers can teach the fundamentals of a complicated subject

The first step in simplifying a hard topic is to first ...

[read more]
Categories: Essays, Teaching

My suggested Hello World for introducing programming to non-programmers

Posted on April 1, 2018

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 you've ...
[read more]
Categories: Programming

How I teach Python's Anonymous functions

Posted on March 1, 2018

A 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 ...

[read more]
Categories: Programming, Python

Python Philippines is a diverse community

Posted on Feb. 21, 2018

Philippines is a country. Metro Manila is a part of the Philippines.

We started Python Philippines in Manila because a lot of tech companies operated here. It also helped that the region is where most of the board of trustees worked, making it easy to host meetups. By PyCon 2016, we've done 3 Python Conferences at Manila.

But the Philippines country is large and diverse with different cultures. We don't want Python Philippines to be primarily known as a Manila group. We want to spread the programming language to other parts of the country.

Different region in the ...

[read more]
Categories: python philippines

Why does Python Philippines have a code of conduct?

Posted on Feb. 20, 2018

Why does Python Philippines have a code of conduct?One of the great philosophy of Python the programming language is that explicit is better than implicit. As the council leaders trusted by the Python Philippines community, we practice what we preached. We try to be explicit about good behavior between people. So we've adopted a Code of Conduct.

You'd think that this is unnecessary. But we are always surprised on how useful a CoC is. It not only encourages people to be nicer to everyone, but it gives us grounds for kicking toxic people from our groups.

Look ...

[read more]
Categories: python philippines