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.


5

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 ...


5

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 ...


4

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

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

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 ...


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

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

Higham and Higham's Deep Learning: An Introduction for Applied Mathematicians is a fairly short introduction to neural networks that is written with mathematicians in mind. Another reference I would recommend is Shalev-Shwartz and Ben-David's Understanding Machine Learning: From Theory to Algorithms, particularly chapter 20. Both of the above approach ...


2

The online textbook Neural Networks and Deep Learning by Michael Nielsen is quite good for mathematical content. It assumes the reader understands calculus, but requires no prior knowledge of machine learning. The book's own introduction explains fairly well what the book is about: The purpose of this book is to help you master the core concepts of neural ...


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 ...


2

One crazy suggestion, install Python from source. Configure time about 42 sec. and compile time either around 3 minutes, or 48 sec with make -j. Your class will be using Python anyway, and seeing how long it takes to build from C vs. how long it takes to run Hello World in Python ought to begin to give them some appreciation of the differences. Otherwise, ...


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

@kaya3's comment links an excellent e-book, which describes the math in fair detail. I'll never get tired of recommending 3blue1brown's amazing video series that both motivates the problem and gives basic intuition but doesn't shortchange the math: https://www.3blue1brown.com/neural-networks


1

The text book I use for teaching database indexing is "Database Systems Concepts" by Silberschatz, Korth and Sudarshan. The book is regularly updated to keep pace with the multiple advances happening in the data management domain. The chapter on indexing in the book is good and has a few examples. You can get a feel for the examples from the slides made ...


1

The wikipedia entry is informative. Database Systems: The Complete Book by Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom is probably good. Older versions of database books by Ullman have been accurate and reliable. I haven't seen the latest version, though. Actually, most of my experience with Ullman has been his compiler books, not ...


1

If you have a metal surface to work on, such as some whiteboards, you can get "magnetic paper". These are sheets of various sizes that are magnetic and can be written on with markers or printed on. With erasable markers they can be reused. They can also be cut to size with a scissors. They will, of course, stick to any metal surface and can be removed and ...


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

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

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 ...


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