<p>Have you considered teaching Debian Gnu/Linux. This is a Unix operating system, and consists of only <a href="https://en.wikipedia.org/wiki/Free_software" rel="nofollow noreferrer">Free Software</a>, that is software that allows you to be free, including the freedoms to use, study, modify, and distribute (for any price).</p>

<p>This has may advantages:</p>

<h2>Freedom to use in the way that why want.</h2>

<p>The system is written for the user. Not for the company that made it, for media companies, for advertisers, or for the NSA.</p>

<h2>Ease of use</h2>

<p>It is now easier to use that Microsoft's Windows:</p>

<ul>
<li><p>It has a very nice windowing system (a choice of several, I like kde, but gnome is simpler), more powerful, and more consistent to use that Microsoft's.</p></li>
<li><p>It also has a very nice command-line interface: much, much better than Microsoft's cmd. This is used by intermediates and experts as is much easier, for most tasks, than a graphical interface. Most people use both, as they are well integrated.</p></li>
</ul>

<h2>Good for beginner, intermediates and experts</h2>

<p>Microsoft has successfully optimized their software to be easy to use for beginners, specifically the first few weeks. After that while we, as experts, usually know how to do things, it is a lot of effort. Also there are a lot of surprises for beginners and intermediates. </p>

<p>In Microsoft's Windows , if there is no button to click, then you choose, don't do it, or get visual studio out, and write a C#/VB program. In Unix there as a gradual path from beginner to expert.</p>

<h2>Easy to learn</h2>

<p>Because it is more consistent, it is easier to learn. When I put Debian on my dad's computer, he stopped phoning to ask for help. He just used it. Before this I could go around to see him, and he would explain what he was trying to do and how he was trying to do it. I would often have to say, you seem to be doing it all correct, I have no idea why it does not work. I eventually got fed up and installed Debian.</p>

<h2>Learn it once</h2>

<p>Unix improves, but they ensure that it stays backward compatible. What I learnt is 1991 is still (98%) applicable today. However this has not held it back (some people disagree), at least it has not held it back enough to allow Microsoft to catch up.</p>

<h2>Lots of software</h2>

<p>You think space is big, but that is peanuts compared to Gnu/Linux.
Debian currently has ≈ 43,000 packages (180GB, but you will not need it all, ½GB for a good system, I am a power user and mine in 15GB): These include Office tools, web-browsers, web-servers, software-development tools, etc, etc …</p>

<h2>Uses less resource</h2>

<p>Installing Apache warns 540 kB additional disk space will be used.
Mono Develop (Like visual studio, written by novel) warns 13.6 MB of additional disk space will be used.</p>

<p>These are big programs, that do as least as much as the Microsoft equivalent. Apache is currently the worlds most popular web-server.</p>

<h2>What's a Virus</h2>

<p>A virus is something that attacks through vulnerabilities in the operating system. Unix culture is to fix the vulnerabilities. </p>

CC BY-SA 3.0
2017-05-28T11:18:02.937Z
2017-06-12T04:51:49.093Z
2017-06-12T04:51:49.093Z
ctrl-alt-delor
<p>If the goal is simply to handle two types of audiences, you can structure the entire course that way - suggest that every class member choose a path.  The rough outlines of the course will be the same, but the assignments will be rather different.  Those who are looking for a lighter introduction won't have to understand every word said in class, whereas those on the more serious track will be expected to keep up and speak up if they run into trouble.</p>

<p>Two-path courses are a little harder to design, but can pay off handsomely, with courses that everyone feels comfortable and learns in.  It's hard to give more specific advice about how to split tracks until a general topic is chosen.  (Phone app programming?  Intro to Java?  HTML/CSS/SQL/Javascript?)  The bulk of the split-curriculum planning then goes topic by topic, lab by lab.</p>

CC BY-SA 3.0
2017-06-12T01:35:35.257Z
2017-06-12T01:35:35.257Z
Ben I.
<p>As mentioned before age is generally speaking not significant for this problem.</p>

<p>I believe that the safest bet is an hands-on/bootcamp approach, since a very theoretical course may just scare away both people who take the course just for curiosity and those who want a career change.</p>

<p>I think one of the key aspects here is which programming languages and tools you decide to use.</p>

CC BY-SA 3.0
2017-05-27T12:38:20.123Z
2017-05-27T18:28:49.843Z
2017-05-27T18:28:49.843Z
Safirah
<p>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 <em>know</em> they want to become programmers.</p>

<p>Design the next course as an <em>Introduction to Programming</em>. To borrow from the course catalog for <a href="http://www.kctcs.edu/~/media/System_Office/student/2016-17%20Catalog/221-384_Course_Descriptions_KCTCSCatalog_2016-17.ashx" rel="noreferrer">KCTCS</a> pg. 253:</p>

<blockquote>
  <p>Computational Thinking</p>
  
  <p>Promotes understanding of computer programming and 
  logic by teaching students to think like a computer. Covers 
  skills needed to develop and design language-independent 
  solutions to solve computer-related problems. Covers 
  development and design basics including use of variables, 
  control and data structures, and principles of command-
  line and object-oriented languages.</p>
</blockquote>

<p>That should give the enough knowledge to choose programming as a second career if they want. As an alternative, you could do web page development. That gives a faster return on their work, and allows you to also cover programming using JavaScript. Web page creation is something that more of your audience can potentially utilize in personal life, without having to make a career out of it.</p>

<p>As a third course you could get into the theory and "nitty-gritty" of programming.</p>

CC BY-SA 3.0
2017-05-30T10:29:49.550Z
You might want to elaborate on "They don't yet have the exposure to _know_ they want to become programmers" and maybe add some more specifics about the course
thesecretmaster
CC BY-SA 3.0
2017-05-30T10:38:06.087Z
The OP states the previous course covered from "turning on the computer" up to email and "basic use for Microsoft Office suite." At that level they haven't learned enough to know what programming is, so how can they know they want to do it?
Gypsy Spellweaver
CC BY-SA 3.0
2017-05-30T10:09:05.790Z
2017-05-30T10:09:05.790Z
Gypsy Spellweaver
<p>I've personally had a lot of enjoyment from doing something like FreeCodeCamp (<a href="https://www.freecodecamp.com" rel="nofollow noreferrer">https://www.freecodecamp.com</a>) and wonder if older adults might like starting out with something like simple web design.  It seems like most people probably have a reason to make a website, and knowing the basics of web design helps to understand how the internet works.  The nice thing about FreeCodeCamp is that it is self-paced and has some theory, so if people want to keep going toward a career that is an option, but if not, there is no pressure.</p>

CC BY-SA 3.0
2017-06-16T19:25:48.190Z
2017-06-16T19:25:48.190Z
Lisa Hines
<p>Age in itself may not be the significant characteristic. For example, it is common for our undergraduate computer science classes to include students over age 50 as they constitute part of our demographic (in which the average age of undergraduates is 23 years).  Perhaps key issues are student background and preparedness.</p>

<p>You might consider approaches successfully used for "broadening participation" in computer science, regardless of the age group to which they were initially applied.</p>

<p>Examples of the kinds of resources that might be applicable include <a href="http://www.exploringcs.org" rel="nofollow noreferrer">Exploring Computer Science</a> and <a href="http://csunplugged.org" rel="nofollow noreferrer">CS Unplugged</a></p>

CC BY-SA 3.0
2017-05-27T06:47:43.700Z
2017-05-27T06:47:43.700Z
Joat
<p>I have created a basic computer education project for an audience of elderly students (over 50 years old).</p>

<p>The course is very basic, with lessons from "How to turn on/off your home computer" to "Create your first e-mail" to basic use of the Microsoft Office suite.</p>

<p>After the end of those classes, some students started to look for a more advanced course, covering topics such as programming. With them in mind, we were trying to define a basic CS/programming curriculum for them.</p>

<p>One of the challenges here is the students' expectations:</p>

<ul>
<li>With a hands-on/bootcamp approach we can intimidate some of them who want the course just for curiosity and not to get a new career;</li>
<li>On the other hand, a very theoretical course will not meet the expectations of these students who want a career change or something similar.</li>
</ul>

<p>I know that is impossible meet everyone's expectations, but does anyone have any previous experience in the creation of a programming curriculum for an elderly audience? How can we balance the students' expectations?</p>

CC BY-SA 3.0
2017-08-30T01:35:52.163Z
Consider what you want them to be able to do at the end of the course as well, and use this to guide the content of each section of the course.
srattigan
CC BY-SA 3.0
2017-05-26T15:14:14.633Z
I'm not sure that "elderly" is enough information here.  Is this a recreational course at a retirement facility?  Are these just regular adults signing up for coursework in order to learn a skill?
Ben I.
CC BY-SA 3.0
2017-05-26T15:29:09.997Z
Do you have the scope to break the course into optional modules, or structure it more as a drop-in (with a published schedule)?
Sean Houlihane
CC BY-SA 3.0
2017-05-26T17:54:36.990Z
There is a discussion about this thread [here](https://cseducators.meta.stackexchange.com/questions/47/can-we-replace-the-elderly-tag)
Ben I.
CC BY-SA 3.0
2017-05-26T19:03:23.497Z
I don't think that one-size-fits-all approach is good. State the goals of the class beforehand.
user58697
CC BY-SA 3.0
2017-05-29T11:10:14.190Z
@Choirbean. The project started as a recreational course to teach basic use of tech for adults with more than 50 years. The classes were in the university facilities. Our current problem is define a new curriculum for those how want to continue to learn tech, including basic CS and programming. Some of them keep the recreational mindset, but some other really want a career change and this is the challenge in curriculum definition.
James
CC BY-SA 3.0
2017-05-29T11:27:29.010Z
@SeanHoulihane. Break the course in modules is an good idea that actually never crossed my mind. I'll think about it and share with my partners.
James
<curriculum-design><adult-education>
Programming curriculum for elderly students
# Programming curriculum for elderly students

(Asked by: username_0 on 2017-05-26)

I have created a basic computer education project for an audience of elderly students (over 50 years old).

The course is very basic, with lessons from "How to turn on/off your home computer" to "Create your first e-mail" to basic use of the Microsoft Office suite.

After the end of those classes, some students started to look for a more advanced course, covering topics such as programming. With them in mind, we were trying to define a basic CS/programming curriculum for them.

One of the challenges here is the students' expectations:

* With a hands-on/bootcamp approach we can intimidate some of them who want the course just for curiosity and not to get a new career;
* On the other hand, a very theoretical course will not meet the expectations of these students who want a career change or something similar.

I know that is impossible meet everyone's expectations, but does anyone have any previous experience in the creation of a programming curriculum for an elderly audience? How can we balance the students' expectations?

**Tags:** curriculum-design, adult-education

> **Comments:**
> **username_2**: I'm not sure that "elderly" is enough information here.  Is this a recreational course at a retirement facility?  Are these just regular adults signing up for coursework in order to learn a skill?  
> **username_3**: Do you have the scope to break the course into optional modules, or structure it more as a drop-in (with a published schedule)?  
> **username_2**: There is a discussion about this thread [here](https://cseducators.meta.stackexchange.com/questions/47/can-we-replace-the-elderly-tag)  
> **username_4**: I don't think that one-size-fits-all approach is good. State the goals of the class beforehand.  
> **username_0**: @Choirbean. The project started as a recreational course to teach basic use of tech for adults with more than 50 years. The classes were in the university facilities. Our current problem is define a new curriculum for those how want to continue to learn tech, including basic CS and programming. Some of them keep the recreational mindset, but some other really want a career change and this is the challenge in curriculum definition.  
> **username_0**: @SeanHoulihane. Break the course in modules is an good idea that actually never crossed my mind. I'll think about it and share with my partners.  
> **username_1**: Consider what you want them to be able to do at the end of the course as well, and use this to guide the content of each section of the course.  

---

## 6 answers

### Answer by username_7 on 2017-05-30. Score: 5 | Accepted answer

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](http://www.kctcs.edu/~/media/System_Office/student/2016-17%20Catalog/221-384_Course_Descriptions_KCTCSCatalog_2016-17.ashx) pg. 253:

> Computational Thinking
>
> Promotes understanding of computer programming and
> logic by teaching students to think like a computer. Covers
> skills needed to develop and design language-independent
> solutions to solve computer-related problems. Covers
> development and design basics including use of variables,
> control and data structures, and principles of command-
> line and object-oriented languages.

That should give the enough knowledge to choose programming as a second career if they want. As an alternative, you could do web page development. That gives a faster return on their work, and allows you to also cover programming using JavaScript. Web page creation is something that more of your audience can potentially utilize in personal life, without having to make a career out of it.

As a third course you could get into the theory and "nitty-gritty" of programming.

> **Comments:**
> **username_8**: You might want to elaborate on "They don't yet have the exposure to _know_ they want to become programmers" and maybe add some more specifics about the course  
> **username_7**: The OP states the previous course covered from "turning on the computer" up to email and "basic use for Microsoft Office suite." At that level they haven't learned enough to know what programming is, so how can they know they want to do it?  

---

### Answer by username_9 on 2017-06-16. Score: 2

I've personally had a lot of enjoyment from doing something like FreeCodeCamp (<https://www.freecodecamp.com>) and wonder if older adults might like starting out with something like simple web design. It seems like most people probably have a reason to make a website, and knowing the basics of web design helps to understand how the internet works. The nice thing about FreeCodeCamp is that it is self-paced and has some theory, so if people want to keep going toward a career that is an option, but if not, there is no pressure.


---

### Answer by username_10 on 2017-05-27. Score: 2

Age in itself may not be the significant characteristic. For example, it is common for our undergraduate computer science classes to include students over age 50 as they constitute part of our demographic (in which the average age of undergraduates is 23 years). Perhaps key issues are student background and preparedness.

You might consider approaches successfully used for "broadening participation" in computer science, regardless of the age group to which they were initially applied.

Examples of the kinds of resources that might be applicable include [Exploring Computer Science](http://www.exploringcs.org) and [CS Unplugged](http://csunplugged.org)


---

### Answer by username_2 on 2017-06-12. Score: 1

If the goal is simply to handle two types of audiences, you can structure the entire course that way - suggest that every class member choose a path. The rough outlines of the course will be the same, but the assignments will be rather different. Those who are looking for a lighter introduction won't have to understand every word said in class, whereas those on the more serious track will be expected to keep up and speak up if they run into trouble.

Two-path courses are a little harder to design, but can pay off handsomely, with courses that everyone feels comfortable and learns in. It's hard to give more specific advice about how to split tracks until a general topic is chosen. (Phone app programming? Intro to Java? HTML/CSS/SQL/Javascript?) The bulk of the split-curriculum planning then goes topic by topic, lab by lab.


---

### Answer by username_6 on 2017-05-27. Score: 1

As mentioned before age is generally speaking not significant for this problem.

I believe that the safest bet is an hands-on/bootcamp approach, since a very theoretical course may just scare away both people who take the course just for curiosity and those who want a career change.

I think one of the key aspects here is which programming languages and tools you decide to use.


---

### Answer by username_5 on 2017-05-28. Score: 0

Have you considered teaching Debian Gnu/Linux. This is a Unix operating system, and consists of only [Free Software](https://en.wikipedia.org/wiki/Free_software), that is software that allows you to be free, including the freedoms to use, study, modify, and distribute (for any price).

This has may advantages:

## Freedom to use in the way that why want.

The system is written for the user. Not for the company that made it, for media companies, for advertisers, or for the NSA.

## Ease of use

It is now easier to use that Microsoft's Windows:

* It has a very nice windowing system (a choice of several, I like kde, but gnome is simpler), more powerful, and more consistent to use that Microsoft's.
* It also has a very nice command-line interface: much, much better than Microsoft's cmd. This is used by intermediates and experts as is much easier, for most tasks, than a graphical interface. Most people use both, as they are well integrated.

## Good for beginner, intermediates and experts

Microsoft has successfully optimized their software to be easy to use for beginners, specifically the first few weeks. After that while we, as experts, usually know how to do things, it is a lot of effort. Also there are a lot of surprises for beginners and intermediates.

In Microsoft's Windows , if there is no button to click, then you choose, don't do it, or get visual studio out, and write a C#/VB program. In Unix there as a gradual path from beginner to expert.

## Easy to learn

Because it is more consistent, it is easier to learn. When I put Debian on my dad's computer, he stopped phoning to ask for help. He just used it. Before this I could go around to see him, and he would explain what he was trying to do and how he was trying to do it. I would often have to say, you seem to be doing it all correct, I have no idea why it does not work. I eventually got fed up and installed Debian.

## Learn it once

Unix improves, but they ensure that it stays backward compatible. What I learnt is 1991 is still (98%) applicable today. However this has not held it back (some people disagree), at least it has not held it back enough to allow Microsoft to catch up.

## Lots of software

You think space is big, but that is peanuts compared to Gnu/Linux.
Debian currently has ≈ 43,000 packages (180GB, but you will not need it all, ½GB for a good system, I am a power user and mine in 15GB): These include Office tools, web-browsers, web-servers, software-development tools, etc, etc …

## Uses less resource

Installing Apache warns 540 kB additional disk space will be used.
Mono Develop (Like visual studio, written by novel) warns 13.6 MB of additional disk space will be used.

These are big programs, that do as least as much as the Microsoft equivalent. Apache is currently the worlds most popular web-server.

## What's a Virus

A virus is something that attacks through vulnerabilities in the operating system. Unix culture is to fix the vulnerabilities.


---

