Two courses related to mathematical thinking, both on the Coursera platform, start on April 30th. One at intermediate level is 10 weeks long. The other aimed at beginners is 6 weeks long and is part of a 5-course specialization designed for computer scientists.

On I Programmer we take every opportunity to repeat the message that learning to programming has the huge spin-off benefit that it teaches you to think like a programmer, a skill that extends to everything else you tackle. The same is true of mathematical thinking. It enables you look at problems from a different angle. Put the two together and it's a winning combination.

are all people that work or plan to work in IT, starting from motivated high school students.

There are minimal prerequisites regarding math - you to know what a square is and how to add fractions- plus common sense and curiosity. You also need basic programming knowledge as some quizzes require programming in Python.

The outline for the entire specialization explains:

Discrete Math is needed to see mathematical structures in the object you work with, and understand their properties. This ability is important for software engineers, data scientists, security and financial analysts (it is not a coincidence that math puzzles are often used for interviews). We cover the basic notions and results (combinatorics, graphs, probability, number theory) that are universally needed. To deliver techniques and ideas in discrete mathematics to the learner we extensively use interactive puzzles specially created for this specialization. To bring the learners experience closer to IT-applications we incorporate programming examples, problems and projects in our courses.

The description of the first course, What is a Proof is what persuaded me that this was something I wanted to pursue in order to to be exposed to "mathematical thinking":

Mathematical thinking is crucial in all areas of computer science: algorithms, bioinformatics, computer graphics, data science, machine learning, etc. In this course, we will learn the most important tools used in discrete mathematics: induction, recursion, logic, invariants, examples, optimality. We will use these tools to answer typical programming questions like: How can we be certain a solution exists? Am I sure my program computes the optimal answer? Do each of these objects meet the given requirements?

Having watched its introductory videos, following the Audit option, the course seems to be fun, but to get the most out of it would require paying to be enrolled to be able to submit puzzles and assignments. Coursera offers a 7-day free trial after which there's a monthly subscription which gives unlimited access to all courses in the specialization. All courses in it are running concurrently and as one only requires between 2 and 5 hours of effort a week keen students should be able to complete the entire specialization in less time than the following schedule suggests:

Weeks

Hours per week

1

What is a Proof?

6

2-5

2

Combinatorics and Probability

6

3-5

3

Introduction to Graph Theory

5

3-5

4

Number Theory and Cryptography

4

2-5

5

Delivery Problem Travelling Salesman in Python

3

2-5

Although it is only a single course Introduction to Mathematical Thinking requires around the same time commitment 10 weeks with around 10 hours of effort per week. It is a free course although it does offer a certificate you can purchase on successful completion should you want one.

According to instructor Dr. Keith Devlin this course for Stanford University was designed with two particular audiences in mind:

First, people who want to develop or improve mathematics-based, analytic thinking for professional or general life purposes. Second, high school seniors contemplating a mathematics or math-related major at college or university, or first-year students at college or university who are thinking of majoring in mathematics or a math-dependent subject. To achieves this aim, the first part of the course has very little traditional mathematical content, focusing instead on the thinking processes required for mathematics. The more mathematical examples are delayed until later, when they are more readily assimilated.

This is one of the Stanford-originated MOOCs included in Coursera's early catalog of courses that appeared to be under threat of permanent removal when Coursera moved to its new platform. Luckily it was reinstated on the new platform as a free standalone course rather than being subject to a monthly subscription. While this is a welcome situation it isn't as well supported as other courses. It can be treated as a self paced course but having an official starting date gives cohorts of students the opportunity to work though it together and helping each other out via the discussion forum and even via social media such as Facebook. Students are advised in the introductory lecture to form study groups and work together, but as former students have pointed out in comments this isn't always an option.

In terms of the number of students who have enrolled this comes in at number 50 in Class Central ranking of The 50 Most Popular MOOCs Of All Time with 86.2K enrollees between March 2013 and end 2017 when the last snapshot of this moving target was taken. In terms of student satisfaction it ranks highly with a rating of 4.8 out of 5 for the new-platform version of the course so students certainly appreciate it on the whole.

edX lists the level of this course as Intermediate but, in the early weeks of the course, high school maths will be sufficient. In fact Keith Devlin starts off with little in the way of math equations and focuses on the use of language in maths, moving on to proofs in week 5 and then to Number Theory in week 7 and Real Analysis in week 8, the final week of instruction,

One clue to what you can expect is that one aim of the course is to get you to "think outside the box" - a skill that every innovative developer needs to acquire.

The results of the 2018 Perl Developer Survey are now available. It looks at users of Perl 5 and includes questions on their attitude to Perl 6 and to other languages.

Udacity's Android Developer Nanodegree gets up to speed with Android Architecture Components with an important update. This recognizes that the components are growing in popularity and can even [ ... ]