Coursera
Coursera Logo

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 External Link Icon

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
Read more
Details Icon

Computer Science: Programming with a Purpose
 at 
Coursera 
Course details

More about this course
  • 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.
Read more

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

– / –
3 months
Beginner
– / –
20 hours
Beginner
– / –
2 months
Beginner
– / –
3 months
Beginner
View Other 6715 CoursesRight Arrow Icon
qna

Computer Science: Programming with a Purpose
 at 
Coursera 

Student Forum

chatAnything you would want to ask experts?
Write here...