Cs Field Guide Versions Save

A free online interactive resource/textbook for high school students learning about computer science.

3.10.2

1 year ago
  • Update Trainsylvania interactives imagery and station names.

  • Combine trainsylvania-blank and trainsylvania-complete into trainsylvania-map interactive.

  • Remove trainsylvania blank map file in favor of trainsylvania-map interactive.

  • Add options to binary-cards interactive for hiding UI elements and displaying right to left.

  • Fix bug where scene-editor interactive wasn't working. #1837

  • Fix indentation within Dependabot configuration file.

  • Fix Gulp watch task to watch correct files.

  • Add attribution to texture used in scene-editor interactive.

  • Update Gulp JS task to only update files changed since last run.

  • Core dependency changes:

    • Update dependabot/fetch-metadata from v1.3.1 to v1.3.3.
    • Update django from 3.2.13 to 3.2.14.
    • Update lxml from 4.9.0 to 4.9.1.
  • Interactive box-rotation dependency changes:

    • Update three from 0.141.0 to 0.142.0.
  • Interactive box-translation dependency changes:

    • Update three from 0.141.0 to 0.142.0.
  • Interactive scene-editor dependency changes:

    • Update three from 0.141.0 to 0.142.0.

3.10.1

1 year ago
  • Add search functionality for English language.

  • Updates to binary cards interactive:

    • Only creates card elements as required.
    • Fixes bug with defining number of cards.
    • Allows card total to be toggled or hidden.
  • Remove broken link in the Images and Colours section witin the Data Representation chapter.

  • Update glossary definition of Algorithm.

  • Allow centered interactives to be embedded anywhere (this will likely change in the future to be restricted only to UCCSER domains).

  • Add permalinks to glossary page entries.

  • Fix bug where interactive thumbnails were missing assets during creation. #1745

  • Fix bug where CFG Parser examples weren't loaded. #1789

  • Update test coverage to codecov.

  • Suppress gunicorn access and error logs during local development.

  • Auto-merge minor dependency updates (this includes minor and patch updates).

  • Allow all dependency update pull requests to be created (remove open limit on Dependabot).

  • Ignore updates to non-LTS Django packages.

  • Core dependency changes:

    • Update actions/checkout from v2 to v3.
    • Update actions/download-artifact from v2 to v3.
    • Update actions/setup-python from v2 to v4.
    • Update actions/upload-artifact from v2 to v3.
    • Update ansi-colours from 4.1.1 to 4.1.3.
    • Update autoprefixer from 10.3.7 to 10.4.7.
    • Update browser-sync from 2.27.5 to 2.27.10.
    • Update codemirror from 5.65.0 to 5.65.6.
    • Update coverage from 6.2 to 6.4.1.
    • Update crowdin/github-action from 1.4.7 to 1.4.9.
    • Update cssnano from 5.0.8 to 5.1.12.
    • Update django from 3.2.12 to 3.2.13.
    • Update django-cors-headers from 3.11.0 to 3.13.0.
    • Update django-debug-toolbar from 3.2.4 to 3.4.0.
    • Update django-environ from 0.8.1 to 0.9.0.
    • Update django-modeltranslation from 0.17.3 to 0.18.2.
    • Update docker/build-push-action from v2.9.0 to v3.0.0.
    • Update docker/build-push-action from v2.9.0 to v3.0.0.
    • Update docker/login-action from v1.13.0 to v2.0.0.
    • Update docker/metadata-action from v3 to v4.
    • Update fancy-log from 1.3.3 to 2.0.0.
    • Update flake8 from 3.9.2 to 4.0.1.
    • Update gulp-sass from 5.0.0 to 5.1.0.
    • Update lxml from 4.8.0 to 4.9.0.
    • Update postcss 8.4.5 to 8.4.14.
    • Update Pygments from 2.11.2 to 2.12.0.
    • Update sass from 1.49.8 to 1.53.0.
    • Update selenium from 4.1.1 to 4.3.0.
    • Update sphinx from 4.4.0 to 5.0.2.
    • Update whitenoise from 6.0.0 to 6.2.0.
    • Update yargs from 10.3.1 to 10.5.1.
    • Remove intro.js 4.2.2.
  • Interactive big-number-calculator dependency changes:

    • Update big.js from 5.1.2 to 6.2.0.
  • Interactive bin-packing dependency changes:

    • Update interactjs from 1.10.11 to 1.10.14.
  • Interactive box-rotation dependency changes:

    • Update three from 0.138.0 to 0.141.0.
    • Update @tweenjs/tween.js from 17.3.0 to 18.6.4.
  • Interactive box-translation dependency changes:

    • Update three from 0.138.0 to 0.141.0.
    • Update @tweenjs/tween.js from 17.3.0 to 18.6.4.
  • Interactive city-trip dependency changes:

    • Update cytoscape from 3.21.0 to 3.21.2.
  • Interactive frequency-analysis dependency changes:

    • Update es5-shim from 4.6.5 to 4.6.7.
  • Interactive jpeg-compression dependency changes:

    • Update interactjs from 1.10.11 to 1.10.14.
  • Interactive scene-editor dependency changes:

    • Update three from 0.138.0 to 0.141.0.
  • Interactive unicode-binary dependency changes:

    • Update urijs from 1.19.8 to 1.19.11.
    • Update string.fromcodepoint from 0.2.1 to 1.0.0.
  • Interactive unicode-chars dependency changes:

    • Update string.fromcodepoint from 0.2.1 to 1.0.0.
  • Interactive viola-jones-face-detector dependency changes:

    • Update interactjs from 1.10.11 to 1.10.14.

3.10.0

2 years ago

Changelog:

  • Add new chapter 'Computer Security'.
    • The chapter only contains text currently, images and interactives will be added at a later time.
  • Minor text changes (e.g. grammar corrections) in 'Grammars and Parsing' section.
  • Add glossary definitions for:
    • Terminal
    • Non-terminal
    • Production
  • Add new panel type 'Exercise'.
  • Fix alignment of panels within a nested list.
  • Show chapter section name in browser title.
  • Increase size of context-free grammar parsing challenge working box.
  • Improve interface when context-free grammar parsing challenge has examples.
  • Change relative links within chapter and chapter section text to open in a new tab.
  • Remove search functionality, due to high costs and no user usage.
  • Dependency changes:
    • Remove django-haystack[elasticsearch] 3.1.1.
    • Remove elasticsearch 5.5.3.
    • Remove django-widget-tweaks 1.4.8.

3.9.0

2 years ago

Summary of changes:

This release adds new content on grammars and parsing, QR codes, Fitts' law, and other ways to represent FSAs.

Changelog:

  • Add new section in 'Formal Languages' chapter on 'Grammars and Parsing'.
  • Add new section in 'Coding - Error Control' chapter on 'QR codes'.
  • Add new section in 'Human Computer Interaction' chapter on 'Pointing at things: Fitts' Law'
  • Add new content in 'Finite State Automata' section on 'Other ways to represent finite state automata'.
  • Add seven new interactives for new and upcoming content:
    • Fitts' law
    • Clicking with shaking
    • Index of difficulty calculator
    • Plane turbulence
    • Firewall sorting
    • Password strength - Brute force variant
    • Password strength - Dictionary attack variant
  • Update definition of 'Parse tree' in glossary.
  • Fix broken link to padding in cryptography Wikipedia page.
  • Update 'CFG Parsing Challenge' interactive:
    • Disable the text field that allows customising the equation text, as it's prone to errors. This can be re-enabled with the URL parameter editable-target.
    • Modify 'New productions' button to 'Customise productions', and lower it's priority in the interactive. The productions menu is also prefilled with the currently loaded exercise. This can be disabled with the URL parameter hide-builder.
    • Increase average difficulty of random equations.
    • Update terms used for user prompts.
  • Update 'NFA Guesser' interactive:
    • Allow answer to be optionally viewed after multiple failed attempts.
    • Change answer options to match appearance in NFA map.
  • Update 'Parity Trick' interactive:
    • Add optional grid references.
  • Fix incorrect solution for representing 'water' as binary.
  • Add tracking of dependencies within interactives using Dependabot.
  • Modify command names to be consistent across UCCSER projects.
  • Remove resource links to websites that do not exist anymore.
  • Add open/close symbols and types titles (for example 'Curiosity') on panels. Panels can also be forced to be always open.
  • Pause of playing Vimeo video within a closed panel.
  • Add URL for website status information.
  • Open button links in a new tab.
  • Fix bug where translation files were not generated.
  • Allow build helper command to pass parameters.
  • Allow translations of words within custom Verto templates.
  • Update interactive template block names to avoid overriding.
  • Add notes to documentation on writing custom Verto templates.
  • Change recommended JavaScript indentation to 4 spaces from 2 spaces. Existing code has not be updated.
  • Modify URL parameter decoder to accept equal signs within a parameter.
  • Enable CORS headers for providing version information across domains.
  • Add templatetag for reading file to template.
  • Add syntax highlighting within code blocks.
  • Change environment variable to allow wider Traefik router variations.
  • Update SCSS division symbol away from deprecated '/' symbol.
  • Update logging configuration.
  • Add package-lock.json file.
  • Core dependency changes:
    • Add django-cors-headers 3.11.0.
    • Add Pygments 2.11.2.
    • Update bootstrap from 4.6.0 to 4.6.1.
    • Update codemirror from 5.63.1 to 5.65.0.
    • Update coverage from 5.5 to 6.2.
    • Update crowdin/github-action from 1.4.0 to 1.4.7.
    • Update django from 3.2.8 to 3.2.12.
    • Update django-debug-toolbar from 3.2.2 to 3.2.4.
    • Update django-environ from 0.7.0 to 0.8.1.
    • Update django-statici18n from 2.0.1 to 2.2.0.
    • Update docker/build-push-action from 2.7.0 to 2.9.0.
    • Update docker/login-action from 1.10.0 to 1.13.0.
    • Update lxml from 4.6.3 to 4.8.0.
    • Update MathJax from 2.7.5 to 2.7.9.
    • Update Node 14.17.0 to 14.19.0.
    • Update postcss from 8.3.9 to 8.4.5.
    • Update psycopg2 from 2.9.1 to 2.9.3.
    • Update sass from 1.42.1 to 1.49.8.
    • Update selenium omfr 3.141.0 to 4.1.1.
    • Update sphinx from 4.2.0 to 4.4.0.
    • Update whitenoise from 5.3.0 to 6.0.0.
    • Update yargs from 17.2.1 to 17.3.1.
  • Interactive bin-packing dependency changes:
    • Update interactjs from 1.4.0-alpha.17 to 1.10.11.
  • Interactive box-rotation dependency changes:
    • Update three from 0.101.1 to 0.138.0.
  • Interactive box-translation dependency changes:
    • Update three from 0.101.1 to 0.138.0.
  • Interactive city-trip dependency changes:
    • Update cytoscape from 3.4.2 to 3.21.0.
    • Update cytoscape-automove from 1.10.1 to 1.10.3.
  • Interactive colour-matcher dependency changes:
    • Update wnumb from 1.1.0 to 1.2.0.
  • Interactive frequency-analysis dependency changes:
    • Update es5-shim from 4.5.12 to 4.6.5.
    • Update es6-shim from 0.35.4 to 0.35.6.
  • Interactive jpeg-compression dependency changes:
    • Update dct from 0.0.3 to 0.1.0.
    • Update interactjs from 1.4.0-alpha.17 to 1.10.111.
  • Interactive matrix-simplifier dependency changes:
    • Update dragula from 3.7.2 to 3.7.3.
  • Interactive packet-attack dependency changes:
    • Update phaser from 3.16.2 to 3.55.2.
  • Interactive python-interpreter dependency changes:
    • Update skulpt from 0.11.1 to 1.2.0.
  • Interactive rsa-decryption dependency changes:
    • Update big-integer from 1.6.44 to 1.6.51.
    • Update node-rsa from 1.0.5 to 1.1.1.
  • Interactive rsa-encryption dependency changes:
    • Update big-integer from 1.6.44 to 1.6.51.
    • Update node-rsa from 1.0.5 to 1.1.1.
  • Interactive rsa-key-generator dependency changes:
    • Update node-rsa from 1.0.5 to 1.1.1.
  • Interactive scene-editor dependency changes:
    • Update three from 0.108.0 to 0.138.0.
  • Interactive sorting-algorithms dependency changes:
    • Update dragula from 3.7.2 to 3.7.3.
  • Interactive unicode-binary dependency changes:
    • Update urijs from 1.19.1 to 1.19.8.
    • Update underscore.string from 3.3.5 to 3.3.6.
  • Interactive viola-jones-face-detector dependency changes:
    • Update interactjs from 1.4.0 to 1.10.11.

3.8.5

2 years ago

Release date: 6th October 2021

Changelog:

  • Fix bug where interactives in chapters were not displaying.
  • Redirect non-www requests to www subdomain at Traefik router.
  • Run migration commands in existing container to allow access to created files.
  • Remove Docker compose volumes to avoid issues with development.
  • Dependency changes:
    • Update autoprefixer from 10.3.6 to 10.3.7.
    • Update codemirror from 5.62.3 to 5.63.1.
    • Update django from 3.2.7 to 3.2.8.
    • Update gulp-postcss from 2.0.1 to 2.1.0.
    • Update postcss from 8.3.6 to 8.3.9.
    • Update yargs from 17.1.1 to 17.2.1.

3.8.4

2 years ago

Release date: 29th September 2021

Changelog:

  • Allow greater customisation for the website's Traefik routing rule.

3.8.3

2 years ago

Release date: 28th September 2021

Changelog:

  • Rebuild search index when updating data, instead of application start.
  • Modify configuration for Docker Swarm services to specify updatedata task.
  • Dependency changes:
    • Update crowdin/github-action from 1.3.2 to 1.4.0.
    • Update autoprefixer from 10.3.2 to 10.3.6.
    • Update intro.js from 4.1.0 to 4.2.2.
    • Update sass from 1.38.0 to 1.42.1.
    • Update sphinx from 4.1.2 to 4.2.1.
    • Update sphinx-rtd-theme from 0.5.2 to 1.0.0.
    • Update django from 3.2.6 to 3.2.7.
    • Update django-environ from 0.4.5 to 0.7.0.
    • Update django-haystack[elasticsearch] from 3.0 to 3.1.1.

3.8.2

2 years ago

Release date: 6th September 2021

Changelog:

  • Modify network name for production deployments.

3.8.1

2 years ago

Release date: 28th August 2021

Changelog:

  • Fix encoding of JPG image that prevented minifying.
  • Modify workflow to only produce production docker image run on published release.

3.8.0

2 years ago

Release date: 25th August 2021

Changelog:

  • Move website from Google Cloud Platform to Docker Swarm hosted at the University of Canterbury. #1380

    • Modifies website infrastructure to use Docker Swarm, running all website components as services.
    • Use GitHub actions for automated workflows. This includes testing, deployment, and internationalisation jobs.
    • Simplify static file pipeline, runs as separate service.
  • Switch to GitHub dependency manager.

  • New Depth section for Computer Vision chapter:

    • Includes new Depth from Stereo Vision interactive. #1375
  • Update Context-free Grammar interactive to always generate valid expressions via brute force, and improve the interface with a history log and consistent formatting.

  • Allow Big Number Calculator to calculate numbers with low digit counts. #1340

  • Dependency updates:

    • Add ansi-colors 4.1.1.
    • Add browser-sync 2.27.5.
    • Add child_process 1.0.2.
    • Add cssnano 5.0.8.
    • Add django-bootstrap-breadcrumbs 0.9.2.
    • Add elasticsearch 5.5.3.
    • Add fancy-log 1.3.3.
    • Add got 11.8.2.
    • Add gulp-concat 2.6.1.
    • Add gulp-imagemin 7.1.0.
    • Add intro.js 4.1.0.
    • Add lity 2.4.1.
    • Add pixrem 5.0.0.
    • Add postcss 8.3.6.
    • Add sass 1.38.0.
    • Add whitenoise 5.0.3.
    • Remove @babel/core 7.1.2
    • Remove @babel/preset-env 7.1.0
    • Remove del 3.0.0
    • Remove featherlight 1.7.13
    • Remove gevent 1.4.0.
    • Remove gulp-babel 8.0.0
    • Remove gulp-jshint 2.1.0
    • Remove gulp-notify 3.2.0
    • Remove gulp-util 3.0.8
    • Remove gulplog 1.0.0
    • Remove gumshoejs 5.1.2
    • Remove jshint 2.9.6.
    • Remove jshint-stylish 2.2.1.
    • Remove node-gyp 3.8.0
    • Remove Pillow 7.2.0.
    • Remove request 2.88.0
    • Remove run-sequence 2.2.1
    • Remove sticky-state 2.4.1
    • Remove wheel 0.35.1.
    • Remove Whoosh 2.7.4.
    • Update autoprefixer from 9.3.1 to 10.3.2.
    • Update bootstrap from 4.3.1 to 4.6.0.
    • Update browserify from 16.2.2 to 17.0.0.
    • Update codemirror from 5.42.0 to 5.62.3.
    • Update coverage from 5.3 to 5.5.
    • Update details-element-polyfill from 2.3.1 to 2.4.0.
    • Update django from 2.2.3 to 3.2.6.
    • Update django-debug-toolbar from 3.1.1 to 3.2.2.
    • Update django-haystack 3.0 to django-haystack[elasticsearch] 3.0.
    • Update django-modeltranslation from 0.15.2 to 0.17.3.
    • Update django-statici18n from 1.9.0 to 2.0.1.
    • Update flake8 from 3.8.4 to 3.9.2
    • Update gulp from 3.9.1 to 4.0.2.
    • Update gulp-filter from 5.1.0 to 7.0.0.
    • Update gulp-if from 2.0.2 to 3.0.0.
    • Update gulp-postcss from 7.0.1 to 9.0.0.
    • Update gulp-rename from 1.4.0 to 2.0.0.
    • Update gulp-sass from 4.0.2 to 5.0.0.
    • Update gulp-sourcemaps from 2.6.4 to 3.0.0.
    • Update gulp-tap from 1.0.1 to 2.0.0.
    • Update gulp-terser from 1.1.5 to 2.0.1.
    • Update gunicorn from 19.9.0 to 20.1.0.
    • Update iframe-resizer from 4.1.1 to 4.3.2.
    • Update jquery from 3.4.1 to 3.6.0.
    • Update lxml from 4.6.2 to 4.6.3.
    • Update multiple-select from 1.2.1 to 1.5.2.
    • Update popper.js from 1.15.0 to 1.16.1.
    • Update postcss-flexbugs-fixes from 4.1.0 to 5.0.2.
    • Update Postgres database from 9.6 to 13.3.
    • Update psycopg2 from 2.7.6.1 to 2.9.1.
    • Update puppeteer from 1.9.0 to Docker image 10.0.0.
    • Update pydocstyle from 5.1.1 to 6.1.1.
    • Update PyYAML from 5.3.1 to 5.4.1.
    • Update sphinx from 3.3.0 to 4.1.2.
    • Update sphinx-rtd-theme from 0.5.0 to 0.5.2.
    • Update uniseg from 0.7.1 to 0.7.1.post2.
    • Update verto 0.11.0 to 1.0.1.
    • Update yargs from 12.0.2 to 17.1.1.