Machine learning, artificial intelligence (A.I.) and data science are the hottest topics to learn today; and since developers in these areas are most commonly using Python for implementation, it makes Python the skill to know that can open doors to internships, research positions and full-time jobs in the hottest companies and start-up ventures.
That’s the point of view of Dr. Karen Panetta, Professor of Electrical and Computer Engineering and the Dean of Graduate Education at Tufts’ School of Engineering, who notes that the value of Python is not just for scientists and engineers.
“It’s advancing the digital humanities so that it is becoming the language for the ‘non-nerds,’ too,” she said. “Why? First, it’s free!”
In other words, there are huge libraries available that, if used correctly, will accomplish a wide variety of tasks. “The language has a rapid ramp-up time, so students can quickly learn to write cool programs that provide instant gratification with the impressive visualizations of the results,” she said. If you want to make yourself marketable, it’s the language to learn. If you want to just learn to program, it’s a wonderful first language to learn.”
Panetta noted there are lots of online courses, and the Institute of Electrical and Electronics Engineers (IEEE) has chapters (and student chapters) around the world that are constantly offering short courses and workshops in Python. “For instance, my own Boston IEEE chapter offers a short course in Python and uses it for applications in signal processing and for wireless communications,” Panetta added.
Young coders can find free tutorials and lectures from universities, as well as lots of sample programs on GitHub that already implement tasks they may want. “You can use these as templates to start and build your own ‘Frankenstein’-like program by stitching together existing pieces of code to create something custom,” Panetta said.
Beyond schools and GitHub, there’s a range of tutorials and resources online that will boost your knowledge heading into an interview, including packages and modules available via Python.org, which you should definitely visit. Indeed, you’re relatively new to the language, Python.org should be your first stop, as it offers a handy beginner’s guide to programming and Python.
The Rise of No-Code?
Panetta predicted open source and shared code will continue to grow, and that future users of code repositories may not be expert programmers or even understand how the underlying algorithms in the code achieve their goals, which means anyone in any field will be able to program. (This “no code” or “low code” future has been predicted by quite a few pundits over the years, but, despite the appearance of certain platforms, has yet to hit the mainstream; if you want to build software, simply put, you’ll need to know how to code.)
“However, using code not knowing what’s in it or understanding the security issues that may be hidden within code will require more security screening tools for programs that are shared,” Panetta said. “Right now, that doesn’t really exist because there’s just too much material out there for anyone to curate.”
She predicts that we will see more resources and companies offering secure options, as well as more companies making programming simpler than it is today. “We may see resources that drag-and-drop functions and we never actually see a line of code,” she said. “Until then, we need to learn to program.”
The Value of In-Person for Python
Jim Halpin Jr., a technical recruiting leader based in Chicago, said a great free way to learn programming would be to get involved in a user group that is tailored to a language that you are interested in.
“For example, I often recommend to people who want to learn Python to get involved with the Chicago Python User Group,” he explained. “I've been to a meeting, it's free, and includes participates that range from very entry-level Python users to even people who are Python Architects.”
As he noted, there are other meet-ups in Chicago around different programming skills, all of which are great ways to connect with a mentor, listen to presentations, and generate ideas on how to improve a particular skill. And Chicago isn’t the only city where in-person meetings take place.
Websites such as Codeacademy, Code.org, and Codewars are among just a few of the resources that offer coding courses for free. For example, Codewars uses a series of challenges (called a “kata”) to inspire users to greater proficiency, while Codeacademy boasts millions of users.
Massachusetts Institute of Technology (MIT) has created the OpenCourseWare (OCW) initiative, wherein all the study materials of the MIT undergraduate and graduate-level courses are online with free access to all. You can study everything from A.I. and computer science to quantum physics and calculus (check out the most-visited courses).
Michael D. O’Connell, vice president of production and installation for managed-services provider Yorktel, suggests that web-based learning is a fantastic platform to cover the fundamentals (and even some advanced practices) of any technology. However, he also thinks there’s a benefit to hands on, instructor-led educational settings.
“There are some things that either are difficult to grasp without experiencing them firsthand, or other intangibles that come out of working face-to-face with a team of fellow learners to solve a problem,” he said. “That level of experience generally translates into a deeper level of learning, and is better retained by the student.”