8

As thesecretmaster once intoned, "Just from my experience as a student, computer out == doing whatever you want." Kids won't learn from you if they won't give you their attention. And a quick glance into a restaurant, with faces aglow from phone screens, is enough to demonstrate that prioritizing attention to a person instead of a screen is hard for ...


8

You could point out that a file has an owning user and an owning group. Since “owner” appears twice, specifying o for “owner” would be ambiguous. That's weak because the owning group doesn't really have any special privileges on the file, unlike the owning user: the owning user can change the file's permissions and other metadata, but the owning group only ...


8

In a few days there is almost nothing you can do. Certainly you can't change their habits and attitudes about how to learn in just a few days. You can try, however, to change their behavior by making their current behavior unprofitable. If it is still possible, make the final work an important part of the evaluation. But that is only a band-aid on the ...


8

Going with real-world things which they should be familiar with are best, even if it is completely outside of education. As you have applied the tag for adult education, I'm going to presume it is outside of normal university/college courses. A bit of creativity and looking around can develop many an idea as long as you get outside the box. The cafeteria ...


7

Ask them to switch their screens off. They don't like it if you do it too often or for too long but it's surprisingly effective, saves you having to repeat yourself unnecessarily and forces you to try to make your instructions clear and concise. If you can't see their screens you can always tell by the glare from their screens on their faces who hasn't ...


7

Spreadsheets are probably the most popular functional programming language, and is is some what visual. I have taught it for years 7 to 9, but not part of a qualification based course. Things to be aware of: It is a functional language, as long as you avoid VBA / macros etc. You can do functions, though I am not sure about named functions. I like to put ...


7

Obviously your friend is using a bit of hyperbole, and in truth, however annoyed you may be by his blithe dismissal of our entire field, he may not be open to being persuaded. You may have to resign yourself to not "winning" this argument. From what you've written, this is what I suspect is the real answer. For what it's worth, he's not, strictly speaking,...


6

The big disadvantage seems to be that you're re-enforcing their (or maybe your own) preconceptions about barriers to entry, and taking them further from the 'normal' programming environment. Yes, you can twist a spreadsheet to demonstrate some topics, but the biggest misconception you will teach by starting like this is 'everything executes in parallel'. ...


5

The hardest part of determining anything in computer science is the requirements first. If you don't know what the program should do, then there is no way to do it correctly. Thus, Winnie the Pooh is a wonderful book on the matter. It clearly describes time and time again how simple misunderstandings of the base assumptions lead to absurdities of action. ...


5

As I am not a teacher, I can't tell you any experiences, so I'll just give my thoughs on how I would deal with such a situation. I know this is not exactly what you asked for, but I hope it can be at least partially helpful. I think the situation consists of two perspectives: First of all, how you feel; secondly, how you think the students should feel and ...


5

I teach and develop curriculum at a training-oriented nonprofit, and have taught in an academic setting as well. Here are some of the ways that I try to approach trainings for professional developers: Remembering that trainings are for practitioners, and as such, the lessons should be oriented toward objectives that will be immediately useful in their work. ...


5

Colleges and universities in the United States are required by our accreditors to have explicit learning goals and assess our effectiveness at meeting them. (I assume there are similar rules in other countries.) For example, here's how my upper-division Programming Languages course satisfies goals: College-wide goals Students will learn to think critically,...


5

If the students in this course are the same ones, or similarly educated, that finished the last course, you could be over thinking the issue. They don't yet have the exposure to know they want to become programmers. Design the next course as an Introduction to Programming. To borrow from the course catalog for KCTCS pg. 253: Computational Thinking ...


5

I am posting this answer as a complement to @Buffy's answer, which suggests a deep restructuring of the course and you may not be willing, able or allowed to to do it. This answer is useful if you want to start small but still give incentives for self-learning. I tried to present examples that do not take more than one class. Write exercises that require ...


4

From what I have seen, students who sit with a laptop (and this should be the same for your case, because the point is about having their own computer, and you can't see the screen) very rarely listen to the instructor. They might be working on their own projects, but some might be playing games, browsing websites and doing other non-related things. This ...


4

Rather crudely you might see the differences as being: A university - students engaged in study, where study is an end in itself. Developer training - students engaged in study, where being job ready is the end goal. What does this mean in practice? Developer training might be more inclined towards studying using the latest technologies (Javascript, Rust ...


4

The timeless way of building — Christopher Alexander (https://www.patternlanguage.com/patterns/justsostory.html) This is a 3 volume book that includes A Pattern Language. This set of books is probably one of the most influential book from outside of computing to affect computing. It was the seed that started Patterns. The volume A Pattern Language has ...


4

I got a chance to teach Introduction to Computing & Programming course to Chemical Engineering entry students and their syllabus included both Programming concepts & Excel. I began the course with just Algorithms and after 4 weeks, switched to Excel & then on programming. Off course they are different to your target audience a bit but I found ...


4

The College of St. Scholastica in Minnesota has a Computer Science Education graduate certificate program. It is a four-course sequence designed to add a CS endorsement to a high school teaching certificate, though no state-issued endorsement exists yet in Minnesota. The courses: Computational Thinking and Standards for the K-12 Teacher CS Principles, ...


4

As states in the US consider requirements to add a CS endorsement to a teaching certificate, the proposals vary widely. The changing landscape is described in the April 2017 EDC document State of the States Landscape Report: State-level Policies Supporting Equitable K-12 Computer Science Education. Iowa SF274, passed June 2017, allocated \$250 thousand for ...


4

I'm not a fan of full IDEs for beginners. A few years ago I switched my first year students (Java) from NetBeans to an online tool without any autocomplete or helpers for most assignments and found that they've gotten way stronger at writing code. I think the automatic stuff that helps out while programming becomes a crutch for newbies. Our intro teacher, ...


4

Visual Studio Code. Easy to set up and designed to be simple. I used to use PyCharm and PyScripter with good results. VSC is more versatile. Eclipse is a management pig for beginners. You have to learn Eclipse along with learning Python. Eclipse is great for pros.


4

The literary arts are full of structured strings. The main problem there is finding ones which have sufficiently interesting structure. E.g. play ::= act+ act ::= scene+ scene ::= (stage-direction | line)+ stage-direction ::= "Enter" actor+ | "Exit" actor+ ... Gypsy Spellweaver helpfully points out that this can be elaborated to incorporate even more ...


4

Mathematical expressions or natural language are good candidates for these. e.g. from http://matt.might.net/articles/grammars-bnf-ebnf/ <expr> ::= <term> "+" <expr> | <term> <term> ::= <factor> "*" <term> | <factor> <factor> ::= "(" <expr> ")" | <const> ...


3

There's not much out there, unfortunately, and what there is is either suspect or sparse. CIRR has probably created the best data that we have, as they engage in 3rd-party verification. These results are actually rather positive for the industry, although participation is voluntary, and there aren't many Bootcamps that participate. The US Federal Government ...


3

Just a couple of ideas here for an easy intro to Scala, though not very deep. Note that there is an online Java to Scala converter. The first idea is to translate (offline) something you are currently doing in Java into Scala and show it to them. The converter will make this trivial. They are already familiar with the code's structure. The second idea, ...


3

I'd start with something useful that takes yards of code in Java and only a few lines in Scala (assuming there are such things). After two or three examples like this, you'll have hooked your audience. Move into a compare/contrast of language features. Talk about what's easier in Scala. For fairness, talk about what's easier in Java. Then move to how/...


3

The choice of using spreadsheets to teach programming itself is kind of baffling for me. I would rather you use of the several online ways to teach coding, which are much more useful. If online is not an option and you want something simple, a straight forward combination of Visual Studio Code and GCC Compiler (which is probably already there on the ...


3

I always insisted that they look at me. I explained that the only way I could tell they were listening was if they were making eye contact with me. That and making sure screens are turned off.


3

Since you said non-programming, rather than non-CS I'd like to add a couple of very small books by V.J Rayward-Smith: A First Course In Formal Language Theory First Course in Computability Both books give an excellent, compact, introduction to important topics and important background for upper-level courses. Both are available at GoodReads. Hard ...


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