Skip to content

devnull-cz/c-prog-lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github Actions status Github Actions status

Programming in C

This repository hosts the materials for teaching the Programming in C class at MFF-UK

See lecture-notes for notes from individual classes in Markdown format and https://devnull-cz.github.io/c-prog-lang/notes.html for HTML format.

Branches

branch contents
master sources
notes Markdown
gh-pages HTML

Directory structure

directory contents
input definitions of lectures
modules individual Markdown files
modules/warm-up warm up tasks
modules/home-assignments home work tasks
src C examples

In the directory input, you define each lecture via including individual modules from the modules directory. For example, input/2020/01.md looks like this:

#include "modules/intro.md"
#include "modules/hello-world.md"
#include "modules/basics.md"
#include "modules/moving-star.md"

Each of the modules is supposed to be self contained - i.e. no recursive includes.

Tags

directory contents
#source adds link to source code in the src directory
#solution ditto but with different emoji
#module adds a link to file under the modules directory

In general it is better to use tags on separate line.

Modifying lecture notes

See style.md on the style used.

When you push a new changeset to the repo, the github backend will automatically process the input files and generates ready to use notes in Markdown in the notes branch. In the gh-pages branch, you will find HTML version of the notes.

The idea is to write small but self-contained modules so that for each year, based on how it goes, we can easily create notes just by including modules as needed.

You should never put notes into the input files unless really specific to a class, otherwise use modules and include those.