7

First, I love SICP. I took and later TA'd 6.001. Like many MIT grads, I tried to teach it where I became a professor, and, like most who attempted it, decided not to do so again. The main reason it is rarely successful outside of MIT isn't the difference in student quality but the difference in the support the school can offer. If I remember correctly, at ...


6

For many things it is possible, even advantageous, to learn from older books and materials. But it also depends on your goals. Computer Science, like any field, has some things that are fundamental and the fundamentals change only very slowly. The major programming paradigms, for example, were all created in the previous century. The fundamentals of ...


6

Absolutely, the book is a gem. It's filled with great insightful stuff right from the foreword. One such gem: computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for ...


5

Disclaimer: some do consider this a war like emacs/vim. I don't. I'll quote you on this: "I'm looking for something that allows students to get up and running relatively quickly and easily with something small yet meaningful". From this: JavaFX. Along with IntelliJ, and Scene Builder, students can build a GUI very, very quickly. The FXML file which "...


5

The book is quite deep. I'd only consider it in secondary school if the students typically go off to top universities, MIT, Cambridge, Berkeley, or similar. Otherwise, I's strongly suggest that they get a deeper knowledge of whatever language they already know. Java version 8 has extensions that permit learning much about functional programming, for ...


4

These are both part of Apple's Everyone Can Code initiative, and both are appropriate for a high-school and college audience. The Intro book is intended for non-programmers, and teaches programming fundamentals and Swift syntax, with 90 hours of lessons included. The non-intro book gets into more complex UI development such as working with table views ...


4

Whether this is a good plan or not depends on some things, most especially the nature of your students. However, it seems a bit too unstructured. If you have a general mix of student ability it could cause problems unless you incorporate the questions from the site(s) more formally into your teaching. There are a lot of questions available, I would guess ...


4

Here are books in print that address a range of issues within teaching computer science, synthesize pedagogical questions and research-based answers distilled from research, and include extensive references to the literature. Frieze and Quesenberry. (2017). Kicking butt in computer science: Women in computing at Carnegie Mellon University. Summarizing the ...


3

Each project manager will tell you that the success of your project refers to planning. This can take some effort at first, but in the long run having a clearly defined project plan will save you time, money, and a lot of headaches once you start the project. To start creating a project plan, focus on defining the project. Define goals and targets, define ...


3

I think it would be improper to give you advice on the content of your project. Your professor assigned it so that you would learn something and you will learn more by doing that part yourself. However, I think you are making a mistake by assuming that after the original instruction from your professor you can't go back for more advice. But if you just ask ...


3

Let's try a rundown of some points in your question, relating them, where possible, to the system that hosts your question. (You already hinted at that system anyway, and you seem somewhat familiar with it.) Having about zero knowledge of the Learning Management System, I'll refrain from trying to connect any concepts to that specific system. Can this ...


3

The answer to this question is highly dependent on which courses you are interested in. Courses focused on fundamentals can benefit from these older materials. Of course algorithms and discrete math (including graphs) fall into this category but even more "applied" courses such as OOP or Operating Systems can benefit from these older books/courses. Some ...


2

While it isn't specifically devoted to to CS and is directed at the more general teaching community, Tools for Teaching by Barbara Gross Davis is an incredibly useful book. The book discusses everything from designing a single course and writing an effective syllabus to testing and grading, with everything in between. It also discusses evaluating the course ...


2

I'm going to suggest that you don't use either Swing or JavaFX for an AP CS course. Instead, I'm going to suggest that you use Princeton's Standard Draw library. It does a great job of abstracting all of the ugly canvas and window setup that traditionally comes along with Swing or JavaFX. I have leveraged their library for multiple projects throughout the ...


2

Like everything else in programming, it's a mix of tradeoffs: Benefits of Swing: There are a metric ton of tutorials and examples on the web. It still has a very active community here on Stack Overflow. Downsides of Swing: It's old, and it looks old. It's not being actively developed anymore. (But it's not deprecated either.) Benefits of JavaFX: It's new(er)...


2

I'm using chatbots to discuss a variety of topics with 14 to 16-year-old high school students. By "using" I mean that they are the subject of instruction, not a study aid / instrument for the students to use to get automated answers to frequent questions and things like that. So that's probably not what the book you mentioned talks about, but I'll go on ...


2

Re: expensive books: There are hundreds of lecture notes floating around, ranging from awful to outstanding. Check them out too. Re: oldish material: I've used much older texts (up to 20 years old). It very much depends on the subject matter. For the standard CS fare (regular expressions and languages, algorithms, combinatorics, complexity, most of computer ...


2

I have tried using two platforms designed for gamification: Classcraft and Coursemology. Classcraft is more general, and applicable to a younger audience (middle school) while Coursemology looks more like a traditional LMS. Coursemology also is designed to be used for CS courses as assignments and "missions" can include programming tasks with public/private ...


1

It can certainly be effective. Even for adults who aren't particularly game-motivated, what you are setting up is a system that (a) rewards good learning behaviors, and perhaps more importantly, (b) gives a steady, visible reminder of what those behaviors are. You've taken away one of the hidden mental taxes of learning by helping them to manage their own ...


1

I'm older than your targeted demographic, I think, and I've never been a gamer. I find it boring, actually. But I find learning exciting. But there are some things you should keep in mind before trying this. The most important thing is that every student is different. They all have different backgrounds, strengths, weaknesses, interests. That is probably ...


1

There are a number of questions being asked here. Probably too many. As to the question about where you can learn more, there have been a hundred or so books published on chatbots in the past three years. As to the question about whether it is worth having students build such a thing, the answer, of course, is yes. Students should build. It might be more ...


1

This is not an answer. I see what you mean, looking at: https://www.ets.org/s/praxis/pdf/5651.pdf They have an example: // precondition 1: A is an array // precondition 2: The length of array A is n. but then they have a for loop over the array that looks very c like: for (int j=1; j<= n-1; j = j + 1) then they assign int temp = A[j] Now if I ...


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