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


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

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


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

We do most of our work in vampire-mode, i.e. lights-off. Turning the light on for breaks goes a long way towards encouraging students to rest their eyes and stretch. I put a 5-10 minute timer on the projector before every classroom context-switch, so a break doesn't take students by surprise. (It's easy to get lost in this sort of work.) But you can't ...


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


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


3

I find Henry Petroski's book "To Engineer is Human - The Role of Failure in Successful Design" a useful read. I also suggest Tracy Kidder's "The soul of a new machine", but mainly because I was there... I also suggest "Scam: Find Out All About Popular Online and Offline Scams and How to Avoid Them" which can be an eyeopener for the naive student. I also ...


3

Software Requirements and Specifications — Michael Jackson The Mythical Man Month, revisited — Fredrick Brooks Both are software engineering books, however they are very approachable for non computer-scientists / software-engineers. They both have a set essays of various aspects of software engineering. Examples from the books De-skilling from SRS: SRS ...


3

When possible, move around the classroom and address students from different areas but make sure you are stationary when giving direct instructions. I find that having a wireless mouse really helps as I can perform basic commands from anywhere in the room. Also, ask for screens off followed by "I'm still waiting for 3 screens to be turned off". This will ...


3

I think you have left out two essential elements here. Your first two points leave the students passive consumers. The last is about testing. But there is no guarantee of any learning in between. In some ways, the two most important pedagogical ideas are Active Student Constant Feedback You need to ask your students to create things and you need to give ...


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