summaryrefslogtreecommitdiff
path: root/00.md
diff options
context:
space:
mode:
Diffstat (limited to '00.md')
-rw-r--r--00.md111
1 files changed, 111 insertions, 0 deletions
diff --git a/00.md b/00.md
new file mode 100644
index 0000000..659077c
--- /dev/null
+++ b/00.md
@@ -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)