Bifalgorithm post · Computer science one · Draft Notice
Why does the book emphasize concepts, multiple languages, and problem solving?
Why does the book emphasize concepts, multiple languages, and problem solving? (Computer science one · Draft Notice) — "Another inspiration for the structure o…
Ideas in this flowchart
- The book combines language-neutral Computer Science I problem solving with preparation for an increasingly automated world.
- The book’s structure was inspired by an Honors Computer Science I course.
- The course brought together Computer Science majors using Java and Computer Engineering students using C.
- Both programming languages were taught in parallel.
- Using two languages highlights fundamental differences and programming concepts.
- The course emphasizes concepts because syntax and language-specific details are secondary.
- A strong foundation in one language makes learning additional languages relatively easy.
- The exercises come from years of teaching and are designed to work with any programming language.
- The exercises focus mainly on mathematical problem solving, especially for engineering students.
- Calculus can make some exercises easier to understand, but it is not required.
- Computer Science I is fundamentally about human problem solving.
- Computers automate human solutions on a large scale rather than solving problems independently.
- Increasing automation may cause major social and economic change, including the loss of many jobs.
- Programming and software development may become as essential as arithmetic.
- The author hopes the book helps students prepare for this future and welcomes feedback from readers.