8

The Imitation Game: Alan Turing's life through the lens of his work on breaking the Enigma code at Bletchley Park during WWII and his later prosecution as a homosexual during the 1950s. It touches on computer science, World War 2, equality, women's role is CS and society, etc. The movie also casts Turing, inaccurately, as socially awkward and a loner. This ...


5

At the beginning of every year I buy the UIL contest packet from the previous year from http://store.uiltexas.org/computer-science/ . UIL is an organization that's over athletic and academic competitions in Texas. Each packet is only $4 and contains around 50 programming problems and 200 multiple choice questions that were used in contests. Sometimes I ...


5

Engage CS Edu (https://www.engage-csedu.org/) is another repository, which, like Nifty Assignments, is curated by peer review.


4

Hackers The film follows a group of high school hackers and their involvement in a corporate extortion conspiracy. Made in the 1990s when the Internet was unfamiliar to the general public, it reflects the ideals laid out in the Hacker Manifesto quoted in the film: "This is our world now... the world of the electron and the switch [...] We exist without ...


4

In no particular order: Hacking Democracy (Documentary) - An investigation into the risks of online and electronic voting. The Code (Documentary) - About Linux and the free software movement, with many well known figures in Linux and free software. Pirates of Silicon Valley - About the Apple / Microsoft rivalry in the early days of the PC. The Social ...


3

Do it in two steps: There are resources for each part. Start by learning how to compile, link, run code, and launch the debugger, from the command line. Then learn how to write make files. You should also read Recursive Make Considered Harmful by Peter Miller. It should direct you away from a lot of common bad practice. When I applied what I learnt from it,...


3

At the TU Delft we've developed WebLab, which is used in various CS related courses. It has support for programming assignments, for which students code their solutions in a web-editor, and run their code against their own tests, and the spec-tests. Grades are automatically calculated based on the number of succeeding specification tests. As a Course ...


3

For make consider O'Reilly book. It is a perfect intro. Honest to goodness. The GDB one is not so much an educational tool, it is a reference, but I doubt you'd find anything which would teach you how to use GDB any better. The GDB learning curve is short and easy. I also doubt that there is a resource dedicated to gcc any better than the online ...


3

You could try the Bootstrap curriculum, the materials are free and can integrate with existing curriculum instead of being electives. A talk about the design of the program, and how to design highschool computer science curriculum in general is given here by one of the Co-directors of Bootstrap, Professor Shriram Krishnamurthi from Brown University.


3

Failing to find an answer, I wrote this with Billy and Miles: https://dlnext.acm.org/doi/abs/10.1145/3366016 From the abstract: The change in the English computing curriculum and the shift towards computer science (CS) has been closely observed by other countries. Female participation remains a concern in most jurisdictions, but female attainment in CS is ...


3

Java has a Streams API that works with all of its collections. You create a stream with a source, transform or filter it with intermediate operations, and do something with it using a Consumer. All Collections in Java have a .stream() method that creates a stream from the collection. You can also create streams from files, as well as creating streams of ...


2

It was @Torek over at stackoverflow who made a comment which I believe is the nub of the problem. It went something like The git implementers tend to emphasize implementation over policy It is the corollary to this that is hitting you and your students viz git is badly documented not in the sense that documentation is absent but in the sense that ...


2

What worked for me... was working with Git. I hadn’t used any kind of version-control software when I started college (I was a teenager!). I had mostly been using MonoDevelop to program in C#, but boy were those just not interesting or good programs. I had a little experience with the command line; I could ls and cd and the like, but nothing like the ...


2

Game Maker Game Maker is how I developed most of my programming skills when I was that age. It has a very user-friendly UI that has pre-generated scripts for new users. What's great about it is that the premade scripts are made of real code that they can dive into when they get their feet wet. First you start by making a bullseye bounce around the room ...


2

Look at Small Basic or Scratch or Alice. All are great and have a lot of support out there. Designed to get and keep kids interested in programming. A little bit more advanced is Visual Studio Code with Python and the Lego EV3 extension. Programming robots in Python. What more could you ask for in the way of getting kids interested in programming?


2

One of our instructors at CSU does his entire course web site using Pmwiki, which uses a markup language. If you follow certain conventions, it can be converted to a slide show in the browser. For an example how this works, see https://www.cs.colostate.edu/~cs253/Spring19/ This is a C++ course for students in the second year. On the home page is a link to ...


2

pandoc can convert slides written in markdown to a html presentation using reveal.js. pandoc can go markdown->latex (beamer) too. Not sure about going latex->reveal.js but it could be possible.


2

The key to learning this, or much of anything, is reinforcement and feedback. Reinforcement comes from doing exercises and solving problems in a course like this and the book has plenty of mid chapter and end chapter exercises and problems. You can do a lot of these. All of them may be asking too much, but you want to be able to answer any of them. Getting ...


2

I believe that using one key for access, even with unique passwords, is inadvisable. Teaching moments aside, each student should have their own, revocable, restrict-able, key pair. However, as I understand the intentions, you should be able to achieve your goal this way. Short answer Point 1: Edit the instance's /etc/ssh/sshd_config file and check that ...


1

There are a lot of reasons this hasn't happened, and probably won't. The first is that the exercise would need to be published somewhere that was effectively searchable. Some instructors will post exercises online, but not all. Many, in fact, want to keep them private so that they can reuse them in the future. Posting them online often leads to bad behavior, ...


1

For anyone with a similar question who reads this in the future, I found this very helpful series of YouTube videos concerning algorithms. I liked it because the series covers topics in a similar order to the book. There is no assumption of what you do or don't know, material is covered from the ground up. Each video provides multiple examples of problems.


1

This answer is based on the assumption that you are a competent programmer, but want to improve your C++ and learn how to design and write larger scale programs. I find the best way to start is to imitate something existing. This means reading code. Another tool you didn't mention, but which will be part of a project, is for source code control (likely git). ...


1

This is a question to ask on the SIGCSE mailing list. A member there was primarily an educator and now works as a sort of liaison to the SIGCSE community. She will probably respond to such a question. I suspect that they still have grants available that, with some work on your part, might solve your needs. You might need to write up a research proposal, of ...


1

Database Systems Concepts by Silberschatz, Korth and Sudarshan comes with a comprehensive instructor/student resources web site provided by the authors. You can find slides, assignments and even a web based tool to practice SQL at https://www.db-book.com/db7/index.html If you are an instructor in a qualified educational institution, you can contact the book ...


1

Greenfoot is an excellent recommendation (as per @Buffy). If you wanted to stay in the games arena (and not move onto Java), at the machine level, we introduce assembly with Human Resource Machine, which the kids enjoy very much. It's worth noting that the challenges become quite hard towards the end, but they ramp up nicely, so this works well for ...


1

If you are willing to switch to Java and also willing to do a bit of work upfront preparing (or finding) scenarios, then I recommend that you look at Greenfoot. It is a graphical framework for programming in Java that gives students a lot of feedback on their programs and includes an integrated development environment as well as the graphics screen. Along ...


1

Some options just put the PDFs on the site. runestone — allows you to create interactive webpages, with programming code. sozi — for creating animated slideshows from SVGs. You can generate SVGs from $LaTex$. First use a $Tex$ engine that creates DVIs, then convert the DVIs to SVGs.


1

You can look at the datasets used for TPC benchmarks. You can find the tools and instructions needed at http://www.tpc.org/tpc_documents_current_versions/current_specifications5.asp The advantages of the TPC benchmarks are: The data is generated and loaded by scripts. The schema is also created by SQL scripts (like you have asked). The size of the ...


1

I'm late to the conversation, but wanted to offer... GUI application: GitKraken Several people have mentioned other GUI applications for git. I had explored a lot of them when I decided to integrate basic git in my introductory (college) courses and found GitKraken to be far better than its alternatives, predominantly because: It is free-of-charge ...


1

You may be interested in the Levenshtein distance metric. This is used to compare sequences and is robust to quite a number of different transformations. Its implemented in the core PHP library (for some reason) and the Wikipedia article below contains a C implementation. https://en.wikipedia.org/wiki/Levenshtein_distance


Only top voted, non community-wiki answers of a minimum length are eligible