All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and it was adapted for the curriculum
repository.
Format
The general format is:
## Date
### Type of change
- [Topic Name - Insight Name - Description of the change](link-to-the-PR-or-commit-where-the-change-was-added)
Date
represents the date on which the PR was merged.
If more than one insight is changed in the PR, you can:
- use the workout name with an appropriate description
- [Topic Name - Workout Name - Description that applies to all insights changed](link-to-the-PR-or-commit-where-the-change-was-added)
- write an entry for each insight using the same PR link:
- [Topic Name - Insight Name 2 - Description](link-to-the-PR)
- [Topic Name - Insight Name 1 - Description](link-to-the-PR)
Types of change:
Added
for new content (e.g. a new insight, workout, topic).Changed
for changes in the existing content (e.g. changing the concepts or structure of an existing insight).Archived
for content that is no longer necessary and has been archived.Fixed
for any minor fixes (e.g. add a missing comma, adding a code block tag, fixing a report).
- Python Data Analysis - Movie Count Per Release Year Visualized - Fix broken RQ that closes the app
- Python - More Complex Arithmetic Operators - Reword sentence as insight order changed
- HTML - Input Element - Replace incorrect images
- Go - If Else Statements - Remove type in the gap
- Styling - CSS Basics Applying CSS - Add more info on external css being called the weakest
- JavaScript - Functions Return Undefined by Default - Update Practice Question
- Python and JavaScript - All Coding Exercises - Apply shorter copy
- Comp. Sci. - Archive three unused workouts
- TypeScript - Extending Interfaces - Remove the type-in-the-gap from the PQ
- SQL - Insert - Place the discussion insight as an exercise opportunity
- SQL - Update - Place the discussion insight as an exercise opportunity
- SQL - Aggregate Queries - Place the discussion insight as an exercise opportunity
- SQL - Building Queries - Place the discussion insight as an exercise opportunity
- Coding Intro - Collections - Convert the discussion insight to coding
- Web - Core HTML Discussion Insight - Change category and update content
- Web - Box Model Discussion Insight - Change category and update content
- Coding Intro - Introduction - General improvements
- Coding Intro - DO..WHILE - Fix RQ
- Coding Intro - Accessing List Items - Fix RQ
- Python - All Coding Exercises - Remove markdown form readmes and update setupCodes
- Python - Python Versions - Remove type in the gap
- JavaScript - All Coding Exercises - Update setupCode
- Java - How Range Operations Work - Remove trailing spaces from possible PQ answer
- Python - The Import Statement - Minor Grammar improvements
- JavaScript - Environmental Variables - Fix PQ bug
- Python - What Are Iterators - Fix grammar code bug on line 35
- Coding Intro - Think Like A Coder - Fix example
- Python - Syntax and Numerical Operators - Re-order insights
- Web - Topic - Replace old note format with emoji one
- Linux - The test Built-in - Update return value of
test
and other general improvements - SQL - MIN and MAX clauses - Fix query & general updates
- Comp. Sci. - Reverse Polish Notation - Replace dead resource link
- JavaScript - Whole Topic - Update old notes to include emojies like π‘β
- Comp. sci - Entire topic - Replace old note format with emoji one
- Blockchain - erc721 token - replace old note format with emoji one
- Zapier - whole topic - replace old note format with emoji one
- Docker - docker dns2 - replace old note with emoji one
- JavaScript - JS Exercises - Move course to the bottom
- Python Data Analysis - End Goals - Move most questions to footnotes
- JavaScript - Whole Topic - Change var to let where applicable
- Python - Course Order - Set Playground questions as third course instead of first one
- Python - Even or odd & both arithmetic operation exercises - Update Readme names and descriptions of insights
- Python - Improve workouts
- Python - Improve workouts
- JavaScript - Converting to and from JSON - Replace Arrow Function With Regular Function Syntax
- JavaScript - Spread 1 - Add code identifiers to answers to remove differnt colors
- Python - Creating Classes - Update information on instantiating classes
- Regex - Ranges I - Update spelling to US
- SQL - Order By Advanced - Fix footnote table markdown
- General - Fix some content issues
- Curriculum - Accross All Topics - Remove links with value null
- Linux - Quick cd tips - Fix weird html note
- Python Data Analysis - Different Tools To Use - Fix grammar
- Python Data Analysis - What Are Analysis Environents - Fix grammar
- Python Data Analysis - Creating Your First Notebook - Add missing identifiers
- Python - Calling Functions - Improve readability
- Python Data Analysis - What Are Notebooks - Fix typo
- Python Data Analysis - Analysis Environments - Fix Footnote number
- Web - Checkbox Group - Move link to links section and remove HTML comment
- JavaScript - Converting to and From JSON - Fix glossary reference
- JavaScript - Converting to and From JSON - Temporarily remove glossary reference
- Glossary - JSON - Fix malformed link inside the glossary entry
- Airtable - Taging workouts with "workout" aspects
- Coding Intro - Programs and Data - Add youtube video showing instructions for PB and J sandwitch making
- Java - Java Primitives - Add missing information about numerical types
- TypeScript- Add type-in-the-gap and change context where applicable
- Linux - Mark type in the gap and standalone accordingly
- Java - Mark type in the gap and standalone accordingly
- Airtable - Add type in the gap and standalone accordingly
- Security - Add type in the gap and standalone accordingly
- Comp. Sci. - Type in & standalone questions
- JavaScript - Mark questions as type in the gap and standalone accordingly
- SQL - Mark questions as
type-in-the-gap
andstandalone
accordingly - Coding Intro - Mark questions as
type-in-the-gap
andstandalone
accordingly
- Regex- Add type-in-the-gap and change context where applicable
- Styling - Entire Topic - Remove backticks from headlines, add type in the gap to applicable questions
- HTML - Entire Topic - Remove HTML tags and back ticks from headlines, add type in the gap to applicable questions
- Data Analysis - Entire Topic - Add type in the gap to applicable questions
- Git - Entire Topic - Add type in the gap & remove all back ticks from headlines
- MongoDB - Entire Topic - Remove backticks from headlines, add type-in-the-gap, update questions
- Blockchain - Entire Topic - Add type-in-the-gap question type to applicable questions
- Docker - Add type-in-the-gap and change context where applicable
- Go - Entire Topic - Add type-in-the-gap question type to applicable questions
- Webflow - Entire Topic - Add type-in-the-gap question type to applicable questions
- Python - Functional Programming Topic - Add type in the gap questions and change format
- React - Entire Topic - Add format and context metadata, improve some questions
- Python - Core topic - Add type in the gap and standalone format to applicable questions
- Python - Break and Continune Statements - Improve readability
- Python Data Analysis - Prerequisites - Fix headline typo
- Python Data Analysis - Different Tools to Use - Replace info emoji with the lamp one
- Python Data Analysis - Notebooks - Add missing 'with' in a sentence
- Python Data Analysis - Creating Your First notebook - Replace info emoji with the lamp one
- Python Data Analysis - What is Pandas and Why - Update headline and fix wording of sentences
- Python Data Analysis - Series and DataFrames - Add question mark at the end of the headline
- Python Data Analysis - Importing Data Sets - Replace info emoji with the lamp one
- Python Data Analysis - Notebooks - Change wording
- Python Data Analysis - Creating Your First Notebook - Change wording of sentences
- Data Analysis - Basic Terminology II - Add missing footnote information
- Python Data Analysis - Modifying a pie chart II - Fix wording in content and broken question
- Python Data Analysis - Why Python For Data Analysis - Remove unnecessary sentence
- Python Data Analysis - ipython vs shells vs scripts - Replace wordy sentences
- Python Data Analysis - What Are Analysis Environments - Remove wordy sentences
- Python Data Analysis - Different Tools to Use - Update wordy sentences
- Python - Classes II - Add Discussion Insight
- Python - Intro To Modules - Add Discussion Insight
- Python - Playing With Time - Add Discussion Insight
- SQL - IN, LIKE, BETWEEN - Fix rendering for PQ answers
- Linux - Customizing Bash Via Bashrc - Fix grammar in first paragraph
- Javascript - Console In Javascript - Add inline code identifier to a variable
- TypeScript - Never - Remove extra question gap
- TypeScript - Introduction to Type Aliases - Remove extra question gap
- React - Props in constructor's state - Cleanup the text to make the anti-pattern behavior clearer, add some examples, update both questions
- CSS - Position Elements With Position Sticky - Remove question
- JavaScript - Passing through command line arguments in npm scripts - Fix broken PQ & RQ; add type-in-the-gap and change context to standalone
- Coding Intro - First Functions - Fix typo
- Add support for new question types XI
- Add support for new question types X
- Add support for new question types IX
- Add support for new question types VIII
- Add support for new question types VII
- Add support for new question types VI
- Add support for new question types V
- Add support for new question types IV
- Add support for new question types III
- Add support for new question types II
- HTML - Image Types - Update information, Make Table
- Update "best practice" to "best-practice" category
- Update "how to" to "how-to" category II
- Blockchain - What Is a Blockchain? - Add footnote on the differences between blockchain and distributed ledger
- HTML - Formenctype - Rename to formenctype-and-enctype
- JavaScript - Symbol Special Properties - Update practice question to be more clear
- JavaScript - Base Conversion - Revert changes to the correct answer
- HTML - Formenctype - Add missing information regarding Enctype
- JavaScript - Base Conversion - Fix answer in PQ
- Security - Identify Deserialization - Update resource link
- HTML - Check Boxes - Fix typo
- SQL - Building Queries - Discussion Insight
- SQL - Aggregate Queries - Discussion Insight
- SQL - Insert - Discussion Insight
- SQL - Update - Discussion Insight
- Security - Identifying the Application Layer - Add footnote on GUI
- HTML - The
<blockquote>
Element - Fix headline and resource title - Python - Nose Testing - Fix resource link title
- Python - The from...import statement - Re-add deleted footnote
- JavaScript - Executing Programs With Node - Fix grammatical error
- Linux - Using
find
To Search By File Size - Fix grammatical error
- Content - Enclose answers that are an array inside backticks to fix rendering
- Content - Remove markdown from question answers
- Java - Serial Version UID - Update Wording
- HTML - Formenctype - Replace enctype with formenctype
- Content - Remove all inline code inside PQ/RQ answers to fix rendering
- Git - Cloning a Git repository - Fix PQ rendering
- Linux - Matching Multiple Files With Wildcards - Fix PQ rendering
- Coding intro - First Function - Fix wording in RQ
- Python - not and is operator - Move mention of
is
operator from thenot
insight to theis operator
insight - Python - Syntax and Numerical Operators - Change insight order, add footnote
- Part five of making all the workout slugs unique
- Part four of making all the workout slugs unique
- Part three of making all the workout slugs unique
- Part two of making all the workout slugs unique
- Part one of making all the workout slugs unique
- Python - Python Environments - Add information regarding the default interpreter
- Glossary - Retrigger all the glossary entries & insights where they are referenced
- Glossary - Markdown Formatting - Remove
;
from Python code - Go - If-Else - Fix broken PQ
- Styling - Box model - Add a discussion insight
- Coding Intro - Collections - Add a discussion insight
- Comp. Sci. - The Linked List Data Structure - Add a resource link on the Josephus problem
- JavaScript - Flow Control - Discussion Insight
- Linux - Quick cd Tips - Improve readability
- Coding Intro - Conditions Intro - Add ending phrase
- Coding Intro - Dictionaries - Add more possible answers to the pq
- Security - Intro - Replace broken links
- Comp. Sci. - The Linked List Data Structure - Add a real life example of the abstract data type
- HTML - Core HTML Elements - Add discussion insight
- Comp. Sci. - The Array Data Structure - Fix code block tag
- Comp. Sci. - How does packet loss happen? - Fix pq & update link titles
- Python - Pointers and References - Replace broken link with 2 valid ones
- Javascript - Closures - Add missing parentheses in the third sentence
- Java - Always Specify Type Parameter - Update code block identifier
- Python - Boolean Operators - Improve visibility of the markdown table
- Linux - Using
find
To Search By File Size - Fix description of\;
in anexec
command - Linux - File Management - General workout improvements & add info on the
ls
command - Python - Debugging - Update PQ to be more clear & minor formatting improvements
- Git - Subdirectory Checkout - Explain the
-f
flag & add code block tags - Comp. Sci. - The Linked List Data Structure - Update resource link & add new link
- React - Async Flow in Redux - Fix code block
- Blockchain - Malicious Nodes - Update replay attacks & conclusion
- All Topics - Move question gaps outside of inline code
- Comp Sci- The Queue Data Structure - Add discussion question- Airtable - Airtable Your First Base- Add discussion question
- Blockchain - Blockchain Outcomes - Add discussion question
- Data Analysis - Data Analysis vs Data Science - Add discussion question
- Docker - Docker Benefits - Add discussion question
- Git - What You Will Get Out Of Git - Add discussion question
- Go - Hello World - Add discussion question
- Java - Compiling and Running Java Code - Add discussion question
- Javascript - Console In Javascript - Add discussion question
- Linux - Linux Common Terminology - Add discussion question
- Mongodb - Why Mongodb - Add Discussion insight
- Webflow - Css - Add Discussion insight
- React - What I Need To Use React - Add Discussion insight
- Regex - What Is Regex - Add Discussion insight
- Security - What Else Do You Need To Know - Add Discussion insight
- Spreadsheets - What Are Spreadsheets - Add Discussion insight
- SQL - Your First Query - Add Discussion insight
- Typescript - Hello Typescript - Add Discussion insight
- HTML - HTML CSS Browser - Add Discussion insight
- CSS - Class And Id Selectors - Add Discussion insight
- Zapier - Zapier Common Terminology - Add Discussion insight
- SQL - JOINs - Update PQ for an insight and other general updates
- Java - Data Management Topic - Split workouts into semi-even sections
- Go - Methods, Pointers & Functions - Update PQ
- Javascript - Switch Statements - Update Practice Question
- Java - Basic Strings - Improve readability of last example
- Linux - More On chmod - Add clarification for chmod options and Improve Readability
- Python - Creating Classes in Classes - Add Information and Improve Readibility
- Javascript - Milliseconds Since Epoch - Add more information
- HTML - Intro Form - Add missing words
- Python - Use Struct To Work With Binary Data - Fix Misspelling
- React - Clone Elements in React - Fix content error & general improvements
- SQL - AVG Clause - Update column name to "Result" & other general improvements
- Linux - Practical
du
Command - Explain the -s flag and other improvements - Python - Error Handling - Move
fh.close
line to the finally clause - React - What Are Hooks? - Fix typo in code block & minor improvements
- Java - Package Naming Conventions - Fix grammar in first sentence
- Javascript - Notification API - Fix incorrect answer in Practice Question
- Javascript - Tsc Enum - Fix broken link
- Ecmascript - Searching Array Methods - Update link, change var - let
- Git - Installing Git - Update install methods for Linux
- Web - Global Attributes - Add workout to HTML README
- Linux - What Is A Network Interface? - Deleted excess words and added a comma
- Java - Strings - Update grammar in Printstream.format example
- Java - Use Ignore to Disable Junit tests - Fix grammar in last example
- Javascript - Consuming Events - Fix typo in content
- Python - The
is
operator - Move insight to the Memory Allocation workout - Go - Type Conversion - Add a new line after import statement
- Javascript - Core - Update headlines, grammar and code blocks
- SQL - where-with-and - Update quotation in PQ
- Blockchain - The Bitcoin Blockchain - Update information
- Java - Java Primitives - Separate list headline from list
- Python - What is Python - Fix incorrect example
- Java - Operators II - Update incorrect output in first example
- Security - Identifying the Presentation Layer - Fix grammar in third paragraph
- Spreadsheets - IFNA - Change single quotes to double quotes in PQ
- SQL - SUM Clause - Change phrasing of PQ
- SQL - SUM Clause - Fix link in footnote
- SQL - Inner Join - Add missing backtick and comma
- SQL - Handling Blobs in SQL - Fix typo
- Python - Creating Classes - Add missing footnote
- Go - Logical Operators - Replace | with html char code
- Go - Logical Operators - Fix md table
- Python - Boolean Operators - Change variable value from 'boolean' to 'foobar'; remove 'or' as a possible PQ answer
- Go - For Loops - Fix practice question
- Go - Assignment Operators - Remove one possible answer from PQ
- Go - Operators - Update question to only accept one answer order
- Web - Audio - Add missing Paragraph elements
- React - What is state? - Fix content error
- Web - Audio Files - Improve Outdated information, Change Question
- Regex - Ranges, Groups, and More - Fix typo
- JavaScript - Functions can be declared after use - Fix syntax highlighting
- Web - Audio Files - Fix typo in content
- Comp. Sci. - What Is a Protocol - Remove irrelevant resource link
- Git - Using Tags For Version Control - Fix typo in version name
- JavaScript - Synchronous Event Delivery - Fix output of code
- Coding Intro - Robot, Assemble the Sandwich - Fix typo in variable name
- Security - Analyze Dependencies - Fix spelling of CVE in content
- Regex - Why Learn Regex II - Fix typo in 'manipulate'
- Coding Intro - Robot, Assemble The Sandwich - Fix typo
- Java - Java Virtual Machine - Fix revision question
- JavaScript - Short-Circuit Evaluation - Fix revision question
- Data Analysis - Basic Terminology I - Fix typo
- Web - The
<select>
Element - Update images - Linux - What is SSH? - Fix typo
- SQL - Foreign Key - Update unique constraint footnote
- JavaScript - Listening to events just once - Fix typo
- JavaScript - Const (Part 2) - Remove extra "the" & general formatting
- Coding Intro - Robot, Assemble The Sandwich - Fix typo in function name
- JavaScript - JavaScript Basics - Part 1 - Change phrasing for a footnote
- Coding Intro - Programs and Data - Fix typo
- Regex - Regex grouping - Remove
/
from PQ answers - Regex - Regex grouping - Remove unnecessary groups from example
- Data Analysis - BI tools - Tableau - Capitalize t in workout name
- Data Analysis - Entire topic - Add missing code block tags
- Data Analysis - Basic terminology II - Fix typo
- JavaScript - How to merge two arrays - Fix the log statements
- Linux - Random password generator - Place arguments in correct order
- Python -
for
loops - Update loop definition
- Comp. Sci. - Inserting Data Into a Binary Search Tree
- Web - Nested Lists - Fix images & general formatting
- Linux - Incorrect time on dual boot systems - Minor stylistic and grammatical fixes
- Linux - Force a time update with ntp - Change deprecated command
- Security - Fix broken access control - Fix OWASP Top Ten link
- Security - Identify broken access control - Fix OWASP Top Ten link
- Security - Monitor broken access control - Fix OWASP Top Ten link
- Security - Establish upgrade process - Fix OWASP Top Ten link
- Security - SQL Injection - Fix OWASP Top Ten link
- Security - XXS Introduction - Fix OWASP Top Ten link
- Security - XXE Introduction - Fix OWASP Top Ten link
- Linux - Change file ownership with
chown
- Remove an extrathe
- JavaScript - Iterator protocol - Remove default link
- Security - Broken access control - Remove default link
- Security - Mitigate deserialization - Remove default link
- Security - Identify SQL Injection - Remove default link
- Blockchain - Cyptoeconomics - Remove mentions of bookmark feature, general formatting & updating resource links
- Comp Sci - A request example - Remove mentions of bookmark feature, general formatting & updating resource links
- Comp Sci - DNS lookup - Remove mentions of bookmark feature, general formatting & updating resource links
- Python - Get the most of ints - Remove mentions of bookmark feature, general formatting & updating resource links
- Security - Scan dependencies - Remove mentions of bookmark feature, general formatting & updating resource links
- Security - Identify deserialization - Remove mentions of bookmark feature, general formatting & updating resource links
- Security - Tokens - Remove mentions of bookmark feature, general formatting & updating resource links
- Security - Check defaults - Remove mentions of bookmark feature, general formatting & updating resource links
- Security - Cloud security configuration - Remove mentions of bookmark feature, general formatting & updating resource links
- Security - Use automated scanners - Remove mentions of bookmark feature, general formatting & updating resource links
- Security - Detect XSS - Remove mentions of bookmark feature, general formatting & updating resource links
- Security - Mitigate XSS - Remove mentions of bookmark feature, general formatting & updating resource links
- Security - Detect XXE - Remove mentions of bookmark feature, general formatting & updating resource links
- Security - XXE prevention - Remove mentions of bookmark feature, general formatting & updating resource links
- Web - Form method - Remove mentions of bookmark feature, general formatting & updating resource links
- Linux - What is a network interface - Fix resource link
- Security - Deserialization - Fix resource links
- Security - Mitigating SQL Injection Attacks - Fixed resource links
- Security - XXE Security - Fix resource link
- Python - Substring Testing - Change
print
syntax to python3 - JavaScript - Loops - Part 2 - Fix error in example
- Docker - Container vs VM - Fix resource link
- Python - The Dictionary - General formatting
- Python -
while
loops - Change increment syntax to be more clear for beginners - Python - List Methods II - Fix resrouce link
- Web - Image Height & Width - Improve PQ & RQ, general formatting
- Web - Text Area - Improved PQ text to be specific
- SQL - More Operators - Update PQ to accept only one sequence of correct answers
- Security - Introducing the OSI model - Remove a note & fix grammar
- Java - Iterators - Fix workout name & description
- Java - Class Interface Tips - Fix workout name & description
- JavaScript - Express II - Fix workout name & description
- Web - CSS Animation - Fix workout name & description
- Linux - Data Manipulation Recipes - Fix workout name & description
- Web - The
autofocus
Attribute - Fix error in example - Web - The
autocomplete
Attribute - Fix error in example
- Linux - Check the version of a package on a Debian based system - Make terminology more consistent
- Linux - Practical
cron
- Fix cron expression
- Linux - The
head
Andtail
Commands - Remove redundant word - Linux - Selecting Portions of A Line Using
cut
- Remove redundant word - Python - Function Arguments - Fix typo & general formatting
- Comp. Sci. - The Array Data Structure - Fix typo in RQ
- Linux - Multiple IP Addresses with aliasing - Change address to plural
- Regex - Modfiers - Add missing code tags
- Python - Lists vs Dictionaries - Add missing quotes & general formatting
- HTML - Optional Elements - Update text in snippets, small grammar improvements, move link to the links section
- Linux - Making a file unalterable with
chattr
- Clean metadata & general formatting - Linux - Making a file unalterable with
chattr
- Addsudo
to the commands - Linux - Limit the wget download rate - Fix typo in question
- Python - Date arithmetics with
timedelta
- Add playground - Linux - File Ownership - New PQ
- Python - I/O Functions - Remove any mentions of the
eval
function, new PQ, other minor improvements - Regex - Wildcards I - PQ & RQ mention that we want a full match
- Java - Negative
byte
values - Fix typo in example code block & clean metadata - SQL - Inner Join - Fix result set of example query
- Web/HTML - Image Alt - Improve explanation
- JavaScript - Local Nodules - Fix content error, general formatting & clean metadata
- SQL - Handling Blobs in SQL - Fix blob sizes & general formatting
- Git - The Local Repository - Change "working directory" to "working tree" & clean metadata
- Regex - Ranges I - Fix slashes
- Regex - Ranges II - Fix slashes
- React - Immutability helpers in React - Fix footnote display & remove test footnote
- Python - List Methods II - Fixed typo when using the #insert method
- Glossary - Base64 Encoding - New glossary entry
- JavaScript - Access a function's
arguments
as an array - Added a glossary reference - TypeScript - Types in Functions - Added glossary reference
- Comp. Sci. - The Graph Data Structure - Add new resource
- SQL - SELECTing Columns - Added playground
- SQL - WHERE (2) - Added playground
- SQL - Your First Query - Added playground
- JavaScript - FileReader.readAsDataURL() - General Content Improvements
- JavaScript - Access a function's
arguments
as an array - Improved example code, practice and revision question
- TypeScript - Number, String & Boolean - Retrigger footnotes
- Python - Python Variables - Add footnotes back
- SQL - What is SQL - Add footnotes back
- Python - Python Variables - Temporarily removed footnotes
- SQL - What is SQL - Temporarily removed footnotes
- SQL - What is SQL - Fix typo in footnote
- SQL - Why Learn SQL - Remove old paragraph
- Python - Boolean Operators - Fix typo
- Python - What Are Decorators? - Fix minor grammatical mistakes
- Python - List Methods II - Fix last code block example
- Python - List Methods I - Fix resource link
- React -
React.Children
methods - Remove duplicate "returns" - Python - Variables - Add missing "i" in "revist"