I'm a huge fan of project based learning like the approach taken in this book. But I'm not sure if it's a good idea to introduce early stage students to Scheme before Python, or deep learning before calculus.
I studied pure math in college, and we were required to take 2 "Computer Science" classes as part of that program. Mainly memorizing textbook algorithms and data structure implementations in Java. I hated programming for years after that, until during graduate school I came up with a project of my own that organically required knowledge of Matlab and later Python. I loved programming after that.
I hope books like this can help new students avoid the trough of disillusionment that can sometimes happen if you're forced to learn a cool subject (like programming) in a very uncool way.
Personally, I would not recommend this book to a young person interested in deep learning and programming (based on the table of contents). I would probably recommend they first learn calculus and use Python to make plots while doing so. Then read Fleuret's "The Little Book of Deep Learning" and try to implement simple models in PyTorch.
> to introduce early stage students to Scheme before Python, or deep learning before calculus.
This book is part of the classic "Little" series of books starting with the "Little Schemer" which, despite its name and style, is certainly not a novice beginner book.
The later books: "Seasoned Schemer", "Reasoned Schemer", "The Little Typer" and "The Little Prover" are all very advanced books. They share the same style of illustrations and Socratic method, but you will absolutely need to work through them slowly and careful to get value out of them.
The "Little" books are generally targeted to an audience of computer language nerds and pretty much assume you have a solid understanding of programming, familiarity with scheme and the books come from a time when every serious engineer had basic calc knowledge.
These are classics (and I was really impressed with "The Little Learner") but are very serious and challenging texts, that outside the first book, are aimed at advanced readers (and for those readers are true delights).
I wouldn't recommend it. My copy is dogeared - but for me as a concise mini-reference for a working statistician who has to work with data science people, but not actually implement anything. It's more of a high-level handwavy "these are the concepts involved".
The first programming language one learns is really not important, most skills are transferable. Racket is an excellent programming language for beginners (this book however is not a good book for a complete beginner because it goes really fast over the Racket introduction).
I'm a huge fan of project based learning like the approach taken in this book. But I'm not sure if it's a good idea to introduce early stage students to Scheme before Python, or deep learning before calculus.
I studied pure math in college, and we were required to take 2 "Computer Science" classes as part of that program. Mainly memorizing textbook algorithms and data structure implementations in Java. I hated programming for years after that, until during graduate school I came up with a project of my own that organically required knowledge of Matlab and later Python. I loved programming after that.
I hope books like this can help new students avoid the trough of disillusionment that can sometimes happen if you're forced to learn a cool subject (like programming) in a very uncool way.
Personally, I would not recommend this book to a young person interested in deep learning and programming (based on the table of contents). I would probably recommend they first learn calculus and use Python to make plots while doing so. Then read Fleuret's "The Little Book of Deep Learning" and try to implement simple models in PyTorch.
> to introduce early stage students to Scheme before Python, or deep learning before calculus.
This book is part of the classic "Little" series of books starting with the "Little Schemer" which, despite its name and style, is certainly not a novice beginner book.
The later books: "Seasoned Schemer", "Reasoned Schemer", "The Little Typer" and "The Little Prover" are all very advanced books. They share the same style of illustrations and Socratic method, but you will absolutely need to work through them slowly and careful to get value out of them.
The "Little" books are generally targeted to an audience of computer language nerds and pretty much assume you have a solid understanding of programming, familiarity with scheme and the books come from a time when every serious engineer had basic calc knowledge.
These are classics (and I was really impressed with "The Little Learner") but are very serious and challenging texts, that outside the first book, are aimed at advanced readers (and for those readers are true delights).
That's the video of my son to prove that Scheme can be a first programming language.
https://www.youtube.com/watch?v=LXhsutNKhec
This is how he learned Scheme.
1. Typing 2. Vim through https://vim-adventures.com/ 3. Little Schemer https://a.co/d/0343Ez4v
Don't assume that they would need more things.
Python has so many ways of doing things it's a distraction, doubly so when you add all the special sauce for tensor manipulation.
Scheme by comparison has only one way of doing things and gets out of your way.
> "The Little Book of Deep Learning"
I wouldn't recommend it. My copy is dogeared - but for me as a concise mini-reference for a working statistician who has to work with data science people, but not actually implement anything. It's more of a high-level handwavy "these are the concepts involved".
The first programming language one learns is really not important, most skills are transferable. Racket is an excellent programming language for beginners (this book however is not a good book for a complete beginner because it goes really fast over the Racket introduction).
There are quite a lot of precedents for teaching Scheme as a first language.
Java is not a great choice and one I can see would be offputting.
This is also pretty good
https://www.sscardapane.it/alice-book/
From 2023,
"Pub date: February 21, 2023"