Pages

Computer Programming: Learn How & Resources

BIG Idea: To be a modern researcher at any level, one must know how to do some amount of computer programming.

The computer language you know and use is not the most important thing, just knowing some programming in some language is the key. Most computer languages are similar, and certainly the structure of a program or algorithm is the same, so once you know a language others tend to come relatively easily.

Most graduate students are leaning on Python. It is one of the easier languages to learn since most of its commands are clear and make sense, it is all free and online, and there are endless libraries, tutorials, and help resources online. It is also one of the languages of choice when it comes to data analysis and making plots of data, which is why it is now so popular in science research in all disciplines.

The use of AI to help learn and do programming is now an option for anyone with access to an AI platform, such as ChatGPT. One can have a prompt such as, "Write a Python program that will simulate and plot out a planet in orbit around a star." And in seconds you will have a Python script you can use as a starting point, and build upon. You can also ask ChatGPT or other AI to provide instructions for using the program it just wrote, and you will get those instructions within a few seconds. This back and forth between the researcher and AI will be similar to what writing essays is evolving into - the so-called "hybrid writing," where AI provides a draft or outline, the person gets some ideas and then edits it to make it their own. 


Python
Many of the resources we will be developing for high school research, such as computational work and accessing and analyzing data from online datasets will be based on Python. The beauty of Python and many modern languages is that there is a vast open source community and library system, where much of the hard-core, complex code is already done and shared for the masses - you will eventually learn how to find existing code and just use it in your own script to do the job you are interested in.

A starting point is https://www.python.org/. To navigate it and learn Python from scratch, check out an entire series (basically a course) of teaching videos that are based on this home site.

Perhaps the most popular place to learn Python, and other languages that include Java, Javascript, HTML, Ruby, and others, is Codecademy. This offers self-paced, free courses/tutorials in numerous languages and applications.

A couple platforms to write code and compile it to a working executable are Canopy and Anaconda. You can download these to your own computer and have the compiler and debugger at your disposal. These are two platforms that are top choices for numerous graduate students who are doing research, and there are numerous sites with documentation and tutorials for each.

Over time, more videos and resources will be produced specifically for this site and have research examples for high school students! But find a friend or two who are interested in learning some programming and doing research, and get into a study group, help each other, and learn Python together!! Have fun with it!

A bonus is a college-level book on Constraint Theory, which is written for systems engineers in aerospace and systems engineering. If you want to learn about this for multi-dimensional computational and programming work, dig in. If you just want to see what some high-level work looks like, skim through it.

No comments:

Post a Comment