The Book of Programming Ideas document contains 64 example programming exercises for students to try. The sections cover everything from basic input and output exercises through to subroutines, functions, and file handling. There are Python and Java versions of the document, although all exercises are written to be language-independent.
The news articles below cover some examples of (in)famous errors in databases, from relatively minor to major errors in voting systems.
- French phone bill waived after 12qn-euro blunder
- Meet Mikey, 8: U.S. Has Him on Watch List
- Dead girl given truancy warning
- Outrage at 500,000 DNA database mistakes
- Florida’s flawed “voter-cleansing” program
The relationships between translators, compilers, and interpreters confuses many students. Throw in assemblers and it can be hard to understand anything about this topic. This video tries to address that confusion, with clear explanations and lots of clear examples.
I'd recommend watching the video Machine, Assembly & High-Level Programming Languages (from the same creator) first, particularly if you're unclear about the difference between assembly language and higher level languages like Python.
A clear explanation of the differences between the many programming languages available. Near the beginning of the video is an excellent diagram that shows machine code, low level languages, high level languages, and human languages on the same continuum, to help you understand how they differ. It then goes into more detail about the benefits and drawbacks of each language type.
A good follow up to this video is Translators (Assembler, Compiler & Interpreter), created by the same person.