Skip to content

Commit e712059

Browse files
committed
docs: upstream document about course codex
Signed-off-by: Akshay Mestry <[email protected]>
1 parent 18d5c48 commit e712059

File tree

3 files changed

+186
-6
lines changed

3 files changed

+186
-6
lines changed

docs/source/assets/hackerman-meme.jpg

94.6 KB
Loading

docs/source/index.rst

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.. Author: Akshay Mestry <[email protected]>
22
.. Created on: Saturday, February 22, 2025
3-
.. Last updated on: Wednesday, March 05 2025
3+
.. Last updated on: Thursday, March 07 2025
44
55
:orphan:
66
:og:title: Studying, Mentorship, And Resourceful Teaching
@@ -142,15 +142,14 @@ sharing ideas, and helping others grow alongside me.
142142
.. _Subject-matter expert: https://en.wikipedia.org/wiki/Subject-matter_expert
143143

144144
.. toctree::
145-
:caption: Projects
146-
:glob:
145+
:caption: Development
147146
:hidden:
148147

149-
projects/*
148+
projects/xsnumpy
150149

151150
.. toctree::
152151
:caption: Miscellany
153-
:glob:
154152
:hidden:
155153

156-
miscellany/*
154+
miscellany/guiding-stars
155+
miscellany/course-codex
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
.. Author: Akshay Mestry <[email protected]>
2+
.. Created on: Friday, March 07 2025
3+
.. Last updated on: Friday, March 07 2025
4+
5+
:og:title: From Scalars to Tensors
6+
:og:description: A comprehensive guide to my "ideal" courses to equip students
7+
for the ever-evolving tech industry.
8+
:og:type: article
9+
10+
.. _miscellany-course-codex:
11+
12+
===============================================================================
13+
Course Codex
14+
===============================================================================
15+
16+
.. author::
17+
:name: Akshay Mestry
18+
19+
:about: DePaul University
20+
:avatar: https://avatars.githubusercontent.com/u/90549089?v=4
21+
:github: https://github.com/xames3
22+
:linkedin: https://linkedin.com/in/xames3
23+
:timestamp: Mar 07, 2025
24+
25+
.. rst-class:: lead
26+
27+
Study hard what interests you the most, in the most undisciplined,
28+
irreverent, and original manner possible -- Richard Feynman
29+
30+
This article is more than just a collection of syllabi, it's a deeply personal
31+
endeavour. I reflect back on my journey as a student, a tribute to the mentors
32+
who lit the path ahead of me, and a commitment to those who will one day walk
33+
a similar road. For those who know me personally know that I've been super
34+
duper fortunate to have crossed paths with some truly amazing teachers and
35+
mentors. These individuals taught me to think critically, ask the right
36+
questions. But not every moment was full of rainbows and sunshines. I've also
37+
navigated moments of confusion, of wishing the curriculum had been clearer,
38+
more connected to the real-world skills I needed.
39+
40+
This article is my way of bridging that gap.
41+
42+
You know what, I've realised this pretty early in my career that the tech
43+
industry moves quite fast and how challenging it can be to step from the world
44+
of academia into the realities of building softwares and training AI models.
45+
Therefore, I'm crafting these **"ideal"** interpretation of my courses not
46+
because I claim to have all the answers, but because I want to offer the kind
47+
of structure and guidance I once wished for. My goal here is simple: to design
48+
course outlines that not only strengthen foundational knowledge but also equip
49+
students with the practical tools and critical mindset needed to thrive in an
50+
ever-evolving landscape.
51+
52+
So, to all those reading this, I hope these courses inspire you to learn
53+
fearlessly, just as my mentors inspired me.
54+
55+
.. _course-introduction-to-programming:
56+
57+
-------------------------------------------------------------------------------
58+
Introduction to Programming
59+
-------------------------------------------------------------------------------
60+
61+
.. note::
62+
63+
The course code may vary from uni to uni. This is an entry-level
64+
foundational in most of the schools which students take in their freshman
65+
year.
66+
67+
- **Duration.** 10 weeks
68+
- **Language.** Language-agnostic (`Python`_ as an experimenting language)
69+
70+
Overview
71+
===============================================================================
72+
73+
Programming is more than writing lines of code. It's about learning how to
74+
think like a problem-solver, breaking down complex ideas into smaller
75+
manageable pieces. In this course, we won't just learn and memorise syntaxes or
76+
chase after clever one-liners or cheeky hacks, we'll focus on building a solid
77+
foundation, one that will empower you to pick up any programming language in
78+
the future. While Python will be our guiding tool due to its simplicity and
79+
rich library support, the real goal here is to make you comfortable with the
80+
concepts of programming |dash| the logic, structures, and the core paradigms,
81+
so that languages like C++, Java, or Javascript feel less like mountains to
82+
climb and more like familiar landspaces.
83+
84+
By the end of this 10 weeks journey, you'll be able to solve small, everyday
85+
problems with code by automating repetitve tasks, building simple programs, or
86+
even kickstarting a personal project you've always dreamed about. More
87+
importantly, you'll have the mindset and confidence to build something from
88+
scratch, break it, fix it, and make it better!
89+
90+
Course objectives
91+
===============================================================================
92+
93+
By the end of this course, you will:
94+
95+
- develop a programmer's mindset, cultivate a logical problem-solving way of
96+
thinking that extends beyond writing code.
97+
- think beyond the syntax and learn not just how to write code, but why certain
98+
approaches work better than others.
99+
- master fundamental concepts |dash| variables, loops, conditionals, functions,
100+
and objects |dash| core constructs you'll find in nearly every programming
101+
language.
102+
- write clear, structured and maintainable code by learning how to organise
103+
your thoughts into clean, efficient, and reusable code, a skill that's super
104+
important for both personal projects and team collaborations.
105+
- understand language-agnostic principles by recognising the patterns that
106+
underline all programming languages, so you can easily transition to other
107+
languages like C++, Rust, or Javascript down the road.
108+
- solve problems by applying programming to small, personal tasks like
109+
automating a daily chore, parsing a text file, or building a basic to-do app.
110+
- prepare yourself for future courses and industry workloads by building a
111+
strong foundation that will make advanced topics like algorithms, data
112+
structures, AI, and cloud computing far less intimidating.
113+
- learn to google your way through any debugging session!!!
114+
115+
This course isn't just about "getting the right answers." It's about learning
116+
how to ask or rather google the right questions.
117+
118+
Structure
119+
===============================================================================
120+
121+
Below is the week-by-week breakdown of how we will proceed through our
122+
curriculum.
123+
124+
.. dropdown:: Week One
125+
126+
.. rubric:: Programming Mindset or Thinking in Code
127+
:heading-level: 3
128+
129+
Since its the first week, we won't dive headfirst into coding but rather
130+
cheekily rewire ourselves to think like a programmer. Before writing fancy
131+
algorithms, we need to learn how to break problems into smaller, logical
132+
steps. This week is all about developing a programming mentality.
133+
134+
.. image:: ../assets/hackerman-meme.jpg
135+
:alt: Hackerman meme from Mr. Robot
136+
137+
**What we'll cover:**
138+
139+
- What is programming?
140+
141+
- Understanding programming as a problem-solving tool.
142+
- How computers "think"? Basics of how code gets executed (interpreted
143+
vs. compiled languages).
144+
- Why programming is more about logic than language?
145+
146+
- Thinking like a machine
147+
148+
- Decomposing problems: breaking down complex tasks into smaller steps.
149+
- What an algorithm (step-by-step solution) means?
150+
151+
- Your first program
152+
153+
- Writing a hello world program in multiple languages (primarily Python).
154+
- Understanding similarities and differences in semantics and syntaxes
155+
across multiple languages.
156+
- Interpreting error messages and searching for solutions on the
157+
internet.
158+
159+
- Building blocks of code
160+
161+
- Introduction to fundamental concepts of programming like variables
162+
(identifiers), data types, etc. and their similarities with Maths.
163+
164+
**Interactive Lab:**
165+
166+
- Compare and disect various programming blocks for the same code across
167+
multiple programming languages.
168+
169+
**Reflection and Homework:**
170+
171+
- **Reflect.** Whatever you learned today about programming in any way
172+
shape or form.
173+
- **Reflect.** What you think about **"step-by-step thinking"** and compare
174+
how you would normally solve a problem?
175+
- **Homework.** Find a simple program that solved a problem |dash| bring
176+
at least one example to share next week (it can be anything from a simple
177+
algorithm or someone's personal project you found online).
178+
179+
180+
181+
.. _Python: https://www.python.org

0 commit comments

Comments
 (0)