[Tutor] Training Review: Computational Thinking for Problem Solving

dn PythonList at DancesWithMice.info
Mon Aug 24 21:17:39 EDT 2020


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


More information about the Tutor mailing list