Princeton University - Computer Science: Programming with a Purpose
- Offered byCoursera
Computer Science: Programming with a Purpose at Coursera Overview
Duration | 88 hours |
Total fee | Free |
Mode of learning | Online |
Schedule type | Self paced |
Difficulty level | Beginner |
Official Website | Explore Free Course |
Credential | Certificate |
Computer Science: Programming with a Purpose at Coursera Highlights
- 100% online Start instantly and learn at your own schedule.
- Flexible deadlines Reset deadlines in accordance to your schedule.
- Beginner Level
- Approx. 88 hours to complete
- English Subtitles: Arabic, French, Portuguese (European), Italian, Vietnamese, German, Russian, English, Spanish
Computer Science: Programming with a Purpose at Coursera Course details
- The basis for education in the last millennium was ?reading, writing, and arithmetic;? now it is reading, writing, and computing. 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. This course covers the first half of our book Computer Science: An Interdisciplinary Approach (the second half is covered in our Coursera course Computer Science: Algorithms, Theory, and Machines). Our intent is to teach programming to those who need or want to learn it, in a scientific context.
- We begin by introducing basic programming elements such as variables, conditionals, loops, arrays, and I/O. Next, we turn to functions, introducing key concepts such as recursion, modular programming, and code reuse. Then, we present a modern introduction to object-oriented programming.
- We use 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.
- All the features of this course are available for free. It does not offer a certificate upon completion.
Computer Science: Programming with a Purpose at Coursera Curriculum
BASIC PROGRAMMING CONCEPTS
Why programming?
Program development
Built-in data types
Type conversion
Supplements for Lecture 1
Optional Enrichment on Basic Programming Concepts
Basic Programming Concepts
CONDITIONALS AND LOOPS
Conditionals: the if statement
Loops: the while statement
An alternative: the for loop
Nesting
Debugging
Supplements for Lecture 2
Optional Enrichment on Conditionals and Loops
Conditionals and Loops
ARRAYS
Basic concepts
Typical array-processing code
Two-dimensional arrays
Supplements for Lecture 3
Optional Enrichment on Arrays
Arrays
INPUT AND OUTPUT
Standard input and output
Standard drawing
Fractal drawings
Animation
Supplements for Lecture 4
Optional Enrichment on Input and Output
Input and Output
FUNCTIONS AND LIBRARIES
Basic concepts
Case study: Digital audio
Application: Gaussian distribution
Modular programming and libraries
Supplements for Lecture 5
Optional Enrichment on Functions and Libraries
Functions and Libraries
RECURSION
Foundations
A classic example
Recursive graphics
Avoiding exponential waste
Dynamic programming
Supplements for Lecture 6
Optional Enrichment on Recursion
Recursion
PERFORMANCE
The challenge
Empirical analysis
Mathematical models
Doubling method
Familiar examples
Supplements for Lecture 7
Optional Enrichment on Performance
Performance
ABSTRACT DATA TYPES
Overview
Color
Image processing
String processing
Supplements for Lecture 8
Optional Enrichment on Abstract Data Types
Abstract Data Types
CREATING DATA TYPES
Overview
Point charges
Turtle graphics
Complex numbers
Supplements for Lecture 9
Optional Enrichment on Creating Data Types
Creating Data Types
PROGRAMMING LANGUAGES
Popular languages
Java in context
Object-oriented programming
Type checking
Functional programming
Supplements for Lecture 10
Programming Languages
Other courses offered by Coursera
Student Forum
Useful Links
Know more about Coursera
Know more about Programs
- Engineering
- Instrumentation Technology
- Food Technology
- Aeronautical Engineering
- What is Machine Learning
- Metallurgical Engineering
- MTech in Computer Science Engineering
- VLSI Design
- Petroleum Engineering
- Aerospace Engineering
- BTech in Biotechnology Engineering
- Pharmaceutical engineering
- Silk Technology
- Microelectronics
- Agriculture & Farm Engineering