- Level Foundation
- المدة 88 ساعات hours
- الطبع بواسطة Princeton University
-
Offered by
عن
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.الوحدات
Lecture 1: BASIC PROGRAMMING CONCEPTS
- Hello, World
1
Assignment
- Basic Programming Concepts
4
Videos
- Why programming?
- Program development
- Built-in data types
- Type conversion
2
Readings
- Supplements for Lecture 1
- Optional Enrichment on Basic Programming Concepts
LECTURE 2: CONDITIONALS AND LOOPS
- Conditionals and Loops
1
Assignment
- Conditionals and Loops
5
Videos
- Conditionals: the if statement
- Loops: the while statement
- An alternative: the for loop
- Nesting
- Debugging
2
Readings
- Supplements for Lecture 2
- Optional Enrichment on Conditionals and Loops
LECTURE 3: ARRAYS
- Arrays
1
Assignment
- Arrays
3
Videos
- Basic concepts
- Typical array-processing code
- Two-dimensional arrays
2
Readings
- Supplements for Lecture 3
- Optional Enrichment on Arrays
LECTURE 4: INPUT AND OUTPUT
- Input and Output
1
Assignment
- Input and Output
4
Videos
- Standard input and output
- Standard drawing
- Fractal drawings
- Animation
2
Readings
- Supplements for Lecture 4
- Optional Enrichment on Input and Output
LECTURE 5: FUNCTIONS AND LIBRARIES
- Functions
1
Assignment
- Functions and Libraries
4
Videos
- Basic concepts
- Case study: Digital audio
- Application: Gaussian distribution
- Modular programming and libraries
2
Readings
- Supplements for Lecture 5
- Optional Enrichment on Functions and Libraries
LECTURE 6: RECURSION
- Recursion
1
Assignment
- Recursion
5
Videos
- Foundations
- A classic example
- Recursive graphics
- Avoiding exponential waste
- Dynamic programming
2
Readings
- Supplements for Lecture 6
- Optional Enrichment on Recursion
LECTURE 7: PERFORMANCE
- Performance
1
Assignment
- Performance
5
Videos
- The challenge
- Empirical analysis
- Mathematical models
- Doubling method
- Familiar examples
2
Readings
- Supplements for Lecture 7
- Optional Enrichment on Performance
LECTURE 8: ABSTRACT DATA TYPES
- Using Data Types
1
Assignment
- Abstract Data Types
4
Videos
- Overview
- Color
- Image processing
- String processing
2
Readings
- Supplements for Lecture 8
- Optional Enrichment on Abstract Data Types
LECTURE 9: CREATING DATA TYPES
- Creating Data Types
1
Assignment
- Creating Data Types
4
Videos
- Overview
- Point charges
- Turtle graphics
- Complex numbers
2
Readings
- Supplements for Lecture 9
- Optional Enrichment on Creating Data Types
LECTURE 10: PROGRAMMING LANGUAGES
- Bar Chart Racer
1
Assignment
- Programming Languages
5
Videos
- Popular languages
- Java in context
- Object-oriented programming
- Type checking
- Functional programming
1
Readings
- Supplements for Lecture 10
Auto Summary
"Programming with a Purpose" is an essential Computer Science course offered by Coursera, designed to introduce foundational programming concepts using Java. Ideal for beginners across various disciplines, this course covers variables, loops, functions, and object-oriented programming. Duration is 5280 minutes, and it's available for free without a certificate. Perfect for those looking to grasp the basics of computing and its broader impacts.

Robert Sedgewick

Kevin Wayne