The SPS education platform is fully available on GitHub. The standard Git workflow applies. Git can be accessed through the command prompt, or more easily for beginners through https://desktop.github.com/
. The basic workflow here will be making use of Github Desktop:
- Install Git from
https://git-scm.com/
- Install Github Desktop from
https://desktop.github.com/
- Open the application and log in
- (Follow a short git tutorial to get acquainted with all the different terms)
- Go to
File -> Clone repository
and select the SPS site repository. - Specify a path to the location where you want to save the files and click
clone
.
The files should now have been added to your PC.
Making changes goes as follows:
- Click the
fetch origin
button in Github Desktop to fetch the most recent version of the platform. - Make your changes and check them locally, following the guidelines from the next section.
- Click
commit to master
to save your changes in Git. - Click
push origin
to publish them online. - The website will update itself after some minutes, so please check afterwards whether your changes were processed.
Ideally the use of branches is preferred, but for now it is okay to use the above guidelines.
It is required to run the website locally on your PC to check whether your changes did not cause any strange errors. To do so, install Hugo version 0.62 as this version is being used currently from https://github.com/gohugoio/hugo/releases
When installed you should go to the folder where you have cloned the repository into (i.e. the folder containing the config, content, resources,... folders). In this folder open your command prompt (windows users can click in the navigation bar where the file path is and type cmd
followed by enter). With the command prompt open, call the hugo server
command and your site should be building locally. The prompt will also specify the address of the website, which you can acces through the browser. This is usually something like localhost
. Changes in the files will usually automatically be processed locally. If not, try restarting the local server.
The current file structure definitely requires still some cleaning but the most important folders are indicated here:
- Config
-- _default
--- menus.toml (this file specifies the menu items as visible from the home page)
- content
-- courses (contains the files for the courses sections)
-- disciplines (contains the entire curriculum)
-- files (for all the images, pdf's etc.)
All file formats are written in the markdown language. A simple language which allows for the use of plain HTML. Usually it is the easiest to simply copy paste elements from different files into your file. The below sections will specify some common elements:
When linking to another page on the platform the <a>
tag can be used as
<a href="path/to/page">text to display</a>
Convention: When linking to a page in the same folder: use relative urls When linking to a page in a different folder: use absolute urls
Latex is largely supported on the website, although sometimes the notation is a tiny bit different. Some special characters need to be escaped by adding another \
and specialized packages are not supported.
- Mathematical background
- Complex numbers and phasors (reader, videos, exercises, pencasts, lab)
- [⯈] Overview module
- [⯈] Calculation rules
- [⯈] Phasors
- Probability and random variables (reader)
- Complex numbers and phasors (reader, videos, exercises, pencasts, lab)
- Basics of continuous-time signals and systems
- Spectrum of sinusoidal signals (reader, videos, exercises, pencasts, lab)
- [⯈] Overview module
- [⯈] Special cases
- Fourier series (reader, videos, exercises, pencasts, lab)
- [⯈] Overview module
- [⯈] Examples
- Fourier transform for continuous-time signals (reader, videos, exercises, pencasts, lab)
- [⯈] Overview module
- [⯈] Examples
- [⯈] Properties
- Spectrum of sinusoidal signals (reader, videos, exercises, pencasts, lab)
- Discrete-time signal processing basics
- Basics of sampling and reconstruction (reader, videos, exercises, pencasts, lab)
- [⯈] Overview module
- [⯈] Reconstruction
- [⯈] Examples
- Discrete-time signals (reader, videos)
- [⯈] Overview module
- Discrete-time systems (reader, videos)
- [⯈] Overview module
- [⯈] Special convolution procedures
- Fourier transform for discrete-time signals (reader, videos)
- [⯈] Overview module
- [⯈] Examples
- [⯈] Properties
- Discrete Fourier transform (reader, videos)
- [⯈] From FTC to DFT
- [⯈] How does it work
- [⯈] Properties
- [⯈] DFT length
- Z-transform (reader, videos)
- [⯈] Overview module
- [⯈] Properties
- [⯈] Inverse Z-transform: look-up table
- [⯈] Inverse Z-transform: long-tail division
- [⯈] Inverse Z-transform: partial fraction expansion
- Frequency response FIR (reader, videos, exercises, pencasts, lab)
- [⯈] Overview module
- [⯈] Properties
- Frequency response LTI (reader, videos)
- [⯈] Overview module
- System function (reader, videos)
- [⯈] Overview module
- Sampling, reconstruction and multirate signal processing (reader, videos)
- [⯈] Mathematical description sampling process
- [⯈] Building blocks of multirate signal processing
- Finite impulse response filter (reader, videos, exercises, pencasts, lab)
- [⯈] Impulse response
- [⯈] Convolution sum
- [⯈] Linear time invariant
- General filter structures (reader, videos)
- [⯈] Overview module
- [⯈] Special filter structures
- Finite word length effects (reader, videos)
- [⯈] Overview module
- Filter design (reader, videos)
- [⯈] Overview module
- [⯈] FIR filter design
- [⯈] IIR filter design
- Basics of sampling and reconstruction (reader, videos, exercises, pencasts, lab)
- Statistical signal processing
- Stochastic processes and random signals (reader, videos)
- [⯈] Overview module
- Rational signal models
- Spectral estimation (reader)
- Estimation theory
- Detection theory (reader)
- Stochastic processes and random signals (reader, videos)
- Optimal and adaptive signal processing
- Optimal Wiener filters (videos)
- [⯈] Overview module
- [⯈] FIR case
- Adaptive filters (videos)
- [⯈] Steepest gradient descent algorithm
- [⯈] Least mean squares algorithm
- Optimal Wiener filters (videos)