Coursera platform offers, in cooperation with Princeton University, a free online course: Computer Science: Programming with a Purpose. Learning to program is an essential part of the education of every student, not just in the sciences and engineering, but in the arts, social sciences, and humanities, as well. Beyond direct applications, it is the first step in understanding the nature of computer science’s undeniable impact on the modern world.
About Programming with a Purpose Course
This course covers the first half of the book “Computer Science: An Interdisciplinary Approach”. it aims to teach programming to those who need or want to learn it, in a scientific context.
The course begin by introducing basic programming elements such as variables, conditionals, loops, arrays, and I/O. Next, The course turn to functions, introducing key concepts such as recursion, modular programming, and code reuse.
Then, The course present a modern introduction to object-oriented programming. it uses the Java programming language and teach basic skills for computational problem solving that are applicable in many modern computing environments. Proficiency in Java is a goal, but we focus on fundamental concepts in programming, not Java per se.
The course is designed for | Beginner level. |
Offered by | Coursera platform in cooperation with Princeton University. |
Course duration | 88 hours. |
Price | Free of charge. |
Certificate upon Completion |
All the features of this course are available for free. It does not offer a certificate upon completion. |
Course language | English (Subtitles: Arabic, French, Portuguese (European), Italian, Vietnamese, German, Russian, English, Spanish). |
Already enrolled | 138,662 students. |
Course Rating | 4,7/5. |
Course Syllabus
- BASIC PROGRAMMING CONCEPTS
Why program? This lecture addresses that basic question. Then it describes the anatomy of your first program and the process of developing a program in Java using either virtual terminals or a program development environment, with some historical context.
- CONDITIONALS AND LOOPS
This lecture is built around short programs that use these constructs to address important computational tasks. Examples include sorting, computing the square root, factoring, and simulating a random process.
- ARRAYS
This lecture describes Java’s built-in array data structure that supports such applications, with several examples, including shuffling a deck of cards, the coupon collector test for randomness, and random walks in a grid.
- INPUT AND OUTPUT
This lecture describes several such mechanisms: for text, drawings, and animation. Detailed examples covered include fractal drawings that model natural phenomena and an animation of a ball bouncing around in the display window.
- FUNCTIONS AND LIBRARIES
This lecture introduces functions (Java methods), a fundamental mechanism that enables modular programming. Motivating examples include functions for the classic Gaussian distribution and an application that creates digital music.
- RECURSION
This lecture introduces the concept by treating in detail the ruler function and (related) classic examples, including the Towers of Hanoi puzzle, the H-tree, and simple models of the real world based on recursion.
- PERFORMANCE
In this lecture, we describe a scientific approach to understanding performance, where we develop mathematical models describing the running time our programs and then run empirical tests to validate them.
- ABSTRACT DATA TYPES
In Java, you can create your own data types and use them in your programs. In this and the next lecture, the course show how this ability allows us to view our programs as abstract representations of real-world concepts.
- CREATING DATA TYPES
This lecture covers the mechanics (instance variables, constructors, instance methods, and test clients) and then develops several examples, culminating in a program that uses a quintessential mathematical abstraction (complex numbers) to create visual representations of the famous Mandelbrot set.
- PROGRAMMING LANGUAGES
To convince you that your knowledge of Java will enable you to learn other programming languages, the course show implementations of a typical program in C, C++, Python, and Matlab.
How to enroll in Programming with a Purpose course for free
Check the course official website and click on “Enroll For Free”. A enrollment box will pop up to you. Here you have two options, you can either join the paid version of the course by clicking on “Purchase Course ”, or you can view all course lessons for free by clicking on “Full Course, No Certificate”.
After clicking on “Full Course, No Certificate”, you can click on “Continue” to start your course for free!
If you are unable to pay and want a certificate, you can apply to Coursera for Financial aid.
The course official website:
You can start the course following this link:
Check related online courses following Programming and computer science Free online courses.
Check other online free courses following Free Online Courses.