My Account Log in

1 option

How to Think Like a Computer Scientist: C Version

Open Textbook Library Available online

View online
Format:
Book
Author/Creator:
Downey, Allen B., author.
Contributor:
Scheffler, Thomas, translator.
Language:
English
Subjects (All):
Computer science--Textbooks.
Computer science.
Programming Languages--Textbooks.
Programming Languages.
Physical Description:
1 online resource
Place of Publication:
[Place of publication not identified] Green Tea Press [1999]
Language Note:
In English.
Summary:
The goal of this book is to teach you to think like a computer scientist. I like the way computer scientists think because they combine some of the best features of Mathematics, Engineering, and Natural Science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating trade offs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions.The single most important skill for a computer scientist is problem-solving. By that I mean the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem-solving skills. That’s why this chapter is called “The way of the program.”
Contents:
Chapter 1: The way of the program
1.1 What is a programming language?
1.2 What is a program?
1.3 What is debugging?
1.4 Formal and natural language
1.5 The first program
1.6 Glossary
1.7 Exercises
Chapter 2: Variables and types
2.1 More output
2.2 Values
2.3 Variables
2.4 Assignment
2.5 Outputting variables
2.6 Keywords
2.7 Operators
2.8 Order of operations
2.9 Operators for characters
2.10 Composition
2.11 Glossary
2.12 Exercises
Chapter 3: Function
3.1 Floating-point
3.2 Constants
3.3 Converting from double to int
3.4 Math functions
3.5 Composition
3.6 Adding new functions
3.7 Definitions and uses
3.8 Programs with multiple functions
3.9 Parameters and arguments
3.10 Parameters and variables are local
3.11 Functions with multiple parameters
3.12 Functions with results
3.13 Glossary
3.14 Exercises
Chapter 4: Conditionals and recursion
4.1 Conditional execution
4.2 The modulus operator
4.3 Alternative execution
4.4 Chained conditionals
4.5 Nested conditionals
4.6 The return statement
4.7 Recursion
4.8 Infinite recursion
4.9 Stack diagrams for recursive functions
4.10 Glossary
4.11 Exercises
Chapter 5: Fruitful functions
5.1 Return values
5.2 Program development
5.3 Composition
5.4 Boolean values
5.5 Boolean varaiables
5.6 Logical operators
5.7 Bool functions
5.8 Returning from main()
5.9 Glossary
5.10 Exercises
Chapter 6: Iteration
6.1 Multiple assignment
6.2 Iteration
6.3 The while statement
6.4 Tables
6.5 Two-dimensional tables
6.6 Encapsulation and generalization
6.7 Functions
6.8 More encapsulation
6.9 Local varaiables
6.10 More generalization
6.11 Glossary
6.12 Exercises
Chapter 7: Arrays
7.1 Increment and decrement operators
7.2 Accessing elements
7.3 Copying arrays
7.4 for loops
7.5 Array length
7.6 Random numbers
7.7 Statistics
7.8 Array of random numbers
7.9 Passing an array to a function
7.10 Counting
7.11 Checking the other values
7.12 A histogram
7.13 A single-pass solution
7.14 Random seeds
7.15 Glossary
7.16 Exercises
Chapter 8: Strings and things
8.1 Containers for strings
8.2 String variables
8.3 Extracting characters from a string
8.4 Length
8.5 Traversal
8.6 Finding a character in a string
8.7 Pointers and Addresses
8.8 String concatenation
8.9 Assigning new values to string variables
8.10 strings are not comparable
8.11 Character classification
8.12 Getting user input
8.13 Glossary
8.14 Exercises
Chapter 9: Structures
9.1 Compound values
9.2 Point objects
9.3 Accessing member variables
9.4 Operations on structures
9.5 Structures as parameters
9.6 Call by value
9.7 Call by reference
9.8 Rectangles
9.9 Structures as return types
9.10 Passing other types by reference
9.11 Glossary
9.12 Exercises
Notes:
CC BY
Description based on online resource
OCLC:
1000323222

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account