diff options
author | Adam T. Carpenter <atc@53hor.net> | 2023-04-29 22:47:00 -0400 |
---|---|---|
committer | Adam T. Carpenter <atc@53hor.net> | 2023-04-29 22:47:00 -0400 |
commit | a4dc687eb213a424547c933716e7e1578f48a6e2 (patch) | |
tree | 8b8119c49db529d6fa7b79c314e3d44258a09243 | |
download | cps-rust-a4dc687eb213a424547c933716e7e1578f48a6e2.tar.xz cps-rust-a4dc687eb213a424547c933716e7e1578f48a6e2.zip |
finish 00 start 01
-rw-r--r-- | 00.md | 111 | ||||
-rw-r--r-- | 01.md | 28 |
2 files changed, 139 insertions, 0 deletions
@@ -0,0 +1,111 @@ +--- +author: Adam T. Carpenter, Carpenter Tutoring +--- + +# Computational problem solving with _Rust_ + +## Introduction + +``` + __________ +< Welcome! > + ---------- + \ + \ + _~^~^~_ + \) / o o \ (/ + '_ - _' + / '-----' \ +``` + +--- + +# What is this course? + +This course will focus on computational problem solving using Rust as a first +language. _It aims to provide students with the knowledge and skills to write +programs to solve problems._ + +Consider this an introductory, "101"-level computer science course on +programming fundamentals taught by Carpenter Tutoring. + +--- + +# Who is this course for? + +- people in school who are new to computer programming +- people with careers who want to use programming to get work done +- people who tinker with machines and want to experiment with programming + +Computer programming is for everyone, not just a select few ("programmers"). +Text processing and number crunching i.e., working with data, are two primary +instigators for computer programming. Everyone will likely find these things +useful. + +_This course is for everyone who wants to solve problems using computers._ + +--- + +# Who is this course _not_ for? + +- people who are already proficient in programming +- programmers who want to pick up Rust fast +- people who aren't interested in learning something hard to make life easy + +--- + +# Materials + +This course is a translation from one language to another. Instead of being +taught in Python, it's being taught in Rust. + +[Practice of Computing Using Python](https://www.pearson.com/en-us/subject-catalog/p/practice-of-computing-using-python-the/P200000003329/9780137524839) + +The above textbook is used for course framework and method. The syntax and other +language content comes from the [Rust Book](https://doc.rust-lang.org/book/). + +--- + +# Who am I? + +- Bachelor's of Science from College of William and Mary, majoring in CS +- Nearly five years employed as software engineer focusing on server-side + automation and support self-service +- Using Rust productively for over three years + +[Bio](https://www.53hor.net/info) + +[Carpenter Tutoring](https://carpentertutoring.com) + +--- + +# Why the Rust programming language? + +- enables writing useful programs that are easy to share +- prevents beginners from making mistakes (in other languages) +- has a friendly compiler and helpful borrow checker +- provides good documentation +- offers great standard library and third-party libraries + +Thanks to middle school math, most folks have the prerequisite knowledge to +understand variables, functions, and types. + +--- + +# Why not C, Java, Python, etc.? + +- C forces you to think about computer organization (more) +- Java forces you to think Object-Oriented +- Python forces you to think dynamic type conversion + +These languages contain many foot guns for novice programmers! + +--- + +# Setup and resources + +[The playground](https://play.rust-lang.org) + +[Getting started/installation](https://www.rust-lang.org/learn/get-started) + +[Docs, books, and self-learning](https://www.rust-lang.org/learn) @@ -0,0 +1,28 @@ +--- +author: Adam T. Carpenter, Carpenter Tutoring +--- + +# Computational problem solving with _Rust_ + +## The study of computer science + +``` + __________ +< Welcome! > + ---------- + \ + \ + _~^~^~_ + \) / o o \ (/ + '_ - _' + / '-----' \ +``` + +--- + +# Rules + +1. Think before you program +2. A program is a human-readable essay on problem-solving that also executes on + a computer +3. Practice! |