Learn coding as a creative proccess with this guided tour through coding examples in C#, Python, and Rust.
This is an open source coding curiculumn built around 3 core principlesm chosen based on the experiences of the curiculumns primary author both as a student and an instructor.
-
Don't lose sight of the big picture
Often coding curiculumns over-focus on the syntax of a particular language. New students may struggle to learn what is common to programming as opposed to being a feature, quirck, or 'gotchya' of the particular language they are being taught. By providing content in 3 languages students can build an intuitive understanding of the difference between syntax and programming.
-
Teach by lots of examples
Reading code can be as important a skill as writing it, especially for new programmers. In attempts to keep things simple curiculumns often skip over nuances and edge cases, which later can cause students lots of headaches. This curiculumn will strive to provide a large corpus of examples that can enable students to spot patterns and concepts by skimming and then learn about particulars by diving into particular cases.
-
Demonstrate the creative process of coding
In the quest to keep things as simple as possible many courses skip over as much of the setup, planning, and "messiness" of real life programming. This can lead to students learning to program within the friendly and familiar sandboxes of their courses and then being lost when they need to create something outside of that sandbox. Additionally, curiculumns rarely focus at all on the "creative process" of coding, which is vital to exploratory learning. Lessons here will be designed to encourage iterative, exploratory learning by providing a range of tools for running and understanding code. These tools will include debugging, unit testing, and logging.
The curiculumn is availble free of charge for both commercial and non commercial use (specifically it is licensed under the MIT License ). ./
(TODO, write these guides)
- For Students
- For Instructors
Contibutions are greatly appreciated.
To contact the maintainer
- Use the github issue tracker
- Join the discord
- Tweet @Poly_Sigh
Code examples in this curiculumn will range from simple code snippets to full size applications. Contibutions will be expected to follow the coding style guideliness of their specific languages, be adequately documented and tested, and be submitted by a pull request.
Non-code contributions are also greatly appreciated.
For mistakes, typos, out-dated info, or the like Open an issue
If you are an educator or writer with insights and experience to share, start a discussion either in the issue tracker or the discord server
For clarity and consistency contibuted lessons should follow the writting style guide (TODO create a writing style guide)