Programming Fundamentals Curriculum banner

Programming Fundamentals Curriculum

10 devlogs
15h 19m 38s

Updated Project: I added the languages Spanish and Chinese to the curriculum to lay the groundwork for my future plans with this curriculum as my technical knowledge and my fluency change.
This is a curriculum that uses MkDocs at its core, host…

Updated Project: I added the languages Spanish and Chinese to the curriculum to lay the groundwork for my future plans with this curriculum as my technical knowledge and my fluency change.
This is a curriculum that uses MkDocs at its core, hosted on GitHub Pages and accessible to everyone with a browser and an internet connection. Its goal is to provide a programming language agnostic intro into programming where fundamental concepts, history and start-off resources are given to the participant of this curriculum. I worked longer on this project than currently shown, so there was more work involved in this e.g. override structure, prev+next buttons, etc.
Note: This is a multi language project both available in English and German for reading. I would recommend sticking with the English version though ,as this is the one with the most updates while the German version is a little behind but more stable.

This project uses AI

I used AI mainly as an consultant in this project. This project also contains AI code in the override functionality as well as in the prev+next button implementation, everything else: the curriculum content and basic configurations were all written or configured by myself.

Demo Repository

Loading README...

djblackberry64contrib

Welcome to the first maintenance post, chefs!
This time I worked on improving the UX, especially the UX at the starting page.

What changed in this devlog:

  • Restructered the starting page to make it clearer and more compelling.
  • Added eye image with title attribute for hovering
  • Added animations to the clickable images on hovering to make UX clearer
  • Tested animations to ensure consistent behaviour and smoothness
  • Deployed changes so you can directly benefit from the improvements.

What I learned since last time:
I already knew about key frames so my first approach was a simple keyframe animation which changed size via the width attribute. This proved to be a problem as I then tried to stop the rest of the page from moving which isn’t possible because my approach essentially changed the layout. In the end, I looked up documentation and consulted an AI agent and learned about transform as well as the scale function. I then did the implementation myself and adjusted the scale.

What I would appreciate from you:

-. Please give constructive criticism on what I could improve on or what’s missing

  • Share your ideas for more content or functionality in the comments
  • Have a great day!

This was it for the first maintenance devlog and I hope to see you in the next one!

0
djblackberry64contrib

Welcome to the first non-series devlog in a while.
This time I briefly translated the lessons of the “language-specific-lessons” section. I also came up with a new idea to extend the curriculum.

What changed in this devlog:

  • Translation of all current lessons in the “language-specific-lessons” section.
  • Testing for all prev+next redirects to be accurate in the translated version due to path differences
  • Fixing of minor grammar and logic errors
  • Substitution of English resources with German ones in the translated version

New ideas for the curriculum:

  • (Animated) Story with self-made characters via HTML (possible thanks to the md_in_html extension), CSS and JS

What I would appreciate from you:

  • Please give constructive criticism on what I could improve on or what’s missing
  • Share your ideas for more content or functionality in the comments
  • Have a great day!

This is it for this devlog. I wish you a great day and enjoy the rest of Flavortown! We’ll see us in the next one!

Attachment
Attachment
Attachment
Attachment
0
djblackberry64contrib

Last part of the translation series, chefs. Foundations section port to German. Part (3/3)

What changed in this devlog:

  • Translated “4_definitions-in-programming-concepts.md” in foundations into German
  • Translated “5_how-do-i-program.md” in foundations into German
  • Fixed all the remaining links broken in added German foundations section lessons
    –> they were broken due to path differences between English and German directory
  • Grammatical and logical fixes for both the English and German version
  • Attempted extension of the override file failed –> more research on that needed
  • YAML frontmatter correctly added to each German translated lesson in foundations

What I would appreciate from you:

  • Please give constructive criticism on what I could improve on or what’s missing
  • Share your ideas for more content or functionality in the comments
  • Have a great day!

We have sadly reached the end of this series, but stay tuned for more devlogs as this curriculum continues to evolve!

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0
djblackberry64contrib

Next part of the translation series, chefs. Foundations section port to German. Part (2/3)

What changed in this devlog:

  • Translation of the rest of “3_history-of-programming.md” in foundations section to German
  • Fixed image error on the second image in the lesson “3_history-of-programming.md” in foundations by adjusting directory path

What I would appreciate from you:

  • Please give constructive criticism on what I could improve on or what’s missing
  • Share your ideas for more content or functionality in the comments
  • Have a great day!
    This is the end of the second part of this series. Stay tuned for the next update!
Attachment
Attachment
Attachment
0
djblackberry64contrib

Translation series, chefs. Foundations section port to German. Part (1/3)

What changed in this devlog:

  • Translated “1_intro.md” in foundations section into German
  • Translated “2_what-is-programming.md” in foundations section into German
  • Tranlated “3_history-of-programming.md” until “Low Level Predecessor Languages” in foundations section to German
  • Fixed inaccuracies in the history section in both the Original English and the German translation
  • Added German sources in the links to wikipedia and other sites.
  • Battled with RSS date config but ultimately concluded that the warnings are just cosmetic.

What I would appreciate from you:

  • Please give constructive criticism on what I could improve on or what’s missing
  • Share your ideas for more content or functionality in the comments
  • Have a great day!

This is it for the first part of the translation series. Follow up with the next part!

Attachment
Attachment
Attachment
Attachment
Attachment
0
djblackberry64contrib

Next devlog, chefs. I keep them comming ;).

What changed in this devlog:

  • Added the IDE section to lesson 5 in foundations
  • Added Installations section to lesson 5 in foundations
  • Added Windows installations section to section Installations in lesson 5 in foundations
  • Added macOS installations section to section Installations in lesson 5 in foundations
  • Added Linux installations section to section Installations in lesson 5 in foundations
  • Added yaml frontmatter to lesson 5 in foundations
  • Added new section called “03-advanced-section”
  • Added “1_intro.md” to “03-advanced-section”
  • Added number prefix to sections e.g. 01-foundations, 02-language-specific-lessons and 03-advanced-sections
  • Updated yaml frontmatter prev+next attributes to match new structure due to renaming
  • Added expectations setting to “1_intro.md” in “foundations” and in “advanced-section”

What I would appreciate from you:

  • Please give constructive criticism on what I could improve on or what’s missing
  • Share your ideas for more content or functionality in the comments
  • Have a great day!

This is the end for the latest devlog! Stay tuned for more!

Attachment
Attachment
Attachment
Attachment
0
djblackberry64contrib

Another devlog, chefs. Glad to see y’all again.

What changed in this devlog:

  • Added a new lesson called “5_how-do-i-program.md” in foundations to the curriculum
  • Added a the OS section to lesson 5 in foundations
  • Added the most common desktop OS under the their own respective headings
  • Added the other OSs (BSD and mobile) under the “Other” category
  • Added Android and iOS+iPadOS to the mobile section in “Other”

What I would appreciate from you:

  • Please give constructive criticism on what I could improve on or what’s missing
  • Share your ideas for more content or functionality in the comments
  • Have a great day!

That’s it for this new devlog! I’ll keep y’all updated!

Attachment
0
djblackberry64contrib

Dear chefs,
I heard your calls for more dev logs. So here we go ;)

What changed in this dev log:

  • I fixed the bugs users were experiencing with the prev+next button functionality
  • The CSS in the html override file has its own file and correctly uses the import by MkDocs now
  • I added prev+next buttons to every lesson
  • I added a link to the first lesson into the welcome page (the blue button at the end looked odd so the link does its job)
  • adjusted everything naming wise to match the format (lesson number)_(lesson-title-in-kebab-case).md as well as the links
  • Tested the changes locally
  • Deployed the changes so you can directly benefit from them
  • I did some research into the stuff I use to get ideas for extending the curriculum on a technical level

What I would appreciate from you:

  • Please give constructive criticism on what I could improve on or what’s missing
  • Share your ideas for more content or functionality in the comments
  • Have a great day!

That’s it for this dev log. I hope you enjoyed reading it. We’ll catch us next time! ;)

Attachment
Attachment
0
djblackberry64contrib

I worked on expanding the current lessons - namely 1_intro.md as well as the 2_beginner-resources.md in the language-specific-lessons category. With the 1_intro.md I added a whole section with starter languages, their features, example use cases and their quirks, often also with links to resources to clarify meaning or validate facts. In the 2_beginner-resources.md I added a new section called “communities after this curriculum” and added hackclub as the first community to be mentioned. I also converted every lesson file name into the format of (lesson number)_(title of the lesson in kebab case) to unify the naming scheme for future lessons.

Attachment
Attachment
0
djblackberry64contrib

Shipped this project!

Hours: 0.31
Cookies: 🍪 1
Multiplier: 3.17 cookies/hr

I built a programming fundamentals curriculum by using and configuring MkDocs and hosting it on GitHub pages. The hardest part was choosing the plugins from the ecosystem or building functionality myself and orchestrating everything to work with one another. I solved this by observing the changes made by the different extensions and then adapting my configuration/code respectively. I’m really happy how it turned out as I also got to learn more about computer science along the way. It’s still a long way to go but I’m excited to continue this.

djblackberry64contrib

I worked on adding more to the details and summary section of the lesson 4_definitions-in-programming-concepts.md and proofread everything for grammatical and or informational mistakes. As I said there went more work into this than currently tracked but in the tracked time I did work on this summary section and did some checks.

Attachment
Attachment
Attachment
0