Many of us learn Python by memorising code-constructs and their use. Even over-coming this learning-curve is but a small portion of becoming a competent coder or programmer.

The challenges of learning how to construct an algorithm, and/or how to analyse a real-world problem to produce a solution, are not to be found in the Python Tutorial. However, such higher-order problems often surface on the Python-Tutor and Python Discussion Lists.

For newcomers (and anyone in the field who would like to fill-in topics 'missing' in his/her basic understanding), Coursera offer a "Computational Thinking for Problem Solving" course (free* or $certified) from "Penn" (University of Pennsylvania, USA).

I have occupied various 'spare' moments during the last week or so, to review the course, and am recommend it to you/yours.

Aside from coders, you might also mention it to any friends who want to learn 'problem-solving' (an increasingly important skill in these modern-times where the only constant is 'change') because this is not a 'computer course'. Starting at higher-level thinking, gradually more detail is added, before arriving at the level of implementing computer-based solutions in Python.

It offers a (rather brief) introduction to Python. Thus could be used as a 'taster', before moving to Python-for-the-sake-of-Python course.

Throughout the course reference is made to case-studies drawn from the university's wider operations. There is also an interesting topic in linguistic analysis (ie the stuff of grammar-checkers, search engines, etc) which trainees can gradually develop, stage-by-stage.


Here is their introduction:-
<<<
Computational thinking is the process of approaching a problem in a systematic manner and creating and expressing a solution such that it can be carried out by a computer. But you don't need to be a computer scientist to think like a computer scientist! In fact, we encourage students from any field of study to take this course. Many quantitative and data-centric problems can be solved using computational thinking and an understanding of computational thinking will give you a foundation for solving problems that have real-world, social impact.

In this course, you will learn about the pillars of computational thinking, how computer scientists develop and analyze algorithms, and how solutions can be realized on a computer using the Python programming language. By the end of the course, you will be able to develop an algorithm and express it to the computer by writing a simple Python program.

This course will introduce you to people from diverse professions who use computational thinking to solve problems. You will engage with a unique community of analytical thinkers and be encouraged to consider how you can make a positive social impact through computational thinking.
>>>

100% online
Flexible deadlines
Beginner Level
Approx. 17 hours to complete

Four 'weeks' or sessions:
Pillars of Computational Thinking
Expressing and Analyzing Algorithms
Fundamental Operations of a Modern Computer
Applied Computational Thinking Using Python

https://www.coursera.org/learn/computational-thinking-problem-solving#syllabus


They did conclude by uttering heresy: that graduates might like to move to "more advanced languages like Java ... JavaScript", but let's not hold that lapse of judgement against them (they are after-all, a school of Engineering)!


* the $free option allows access to quizzes, tests, and assignments but not to any grading process. That said, any 'problems', phrased with at a Python background, could likely be discussed/corrected in posts to the Python-Tutor List (don't forget to declare the course and notify which session/component).


Disclaimer: I use the ('competing') edX training/education platform - but for non-Python courses.
--
Regards,
=dn
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to