If you read the methodology page http://www.careercast.com/jobs-rated/2012-jobs-rated-methodology then a lot of the problems are obvious. One that stands out to me is that the stresses are almost all elements of other factors, especially work environment. The stress criteria are not what comes to my mind when I think about work stresses. I can see where they are legitimate but not if they are already reflected by other categories.
I found the two ring model works great.
http://www.kids-fun-science.com/cool-science-experiments.html
Instead of a straw you can just roll up the remainder of the peice of paper. It glides amazingly flat and even. I remember reading that it had one some distance contests when launched from a platform but I could not find a reference on line.
I have taken a computer art course before. I have a masters in fine art (painting) and I have been a software developer for more than 15 years, so I have some familiarity with artists and technology. Here are some of my thoughts.
I suspect you will get a mixed bag of technical (computer) skills. You should be prepared for some very novice level individuals. My first suggestion is to try to come up with collaborative projects. Then techincally sophisticated can group with the less sophisticated. They can learn from each other. You should suggest that technically savvy students team up with beginners. You might ask some questions to help people decide what group they are in and give you a sense of where the group is as whole.
The projects should be very open ended. You might want to offer a choice of projects at each step. The ability to be creative with projects will be a great motivator. From what I have seen, many creative people find tightly defined assignments and work constraining and demotivating. Conversly they will invest extra energy and effort if they can and explore and shape the result. Just like the posts above, the individual students probably have very different ideas about what the course will be teaching. They also probably know what they themselves are interested in pursuing. Provide them avenues for exploring what the want with flexible projects.
Do teach them as much about structure and rules as you can. Students will need to learn the basic of game design. Teach them everything you know in a structed and simple manner. Creative people will have no trouble pushing the boundaries. However, they need a framework to build on. For example, maybe they are interested in a game in which decision alter the properties and capabilities of the character. They would need a strong backing in more traditional game mechanics to have any hope of pulling off a self evolving game. Maybe they just want to work on some novel visual style. Then they would need some kind of basic gameplay to make an integrated result.
For tools, use those that hold you by the hand the most. Anything you can do to help them produce something fun, especially at the beginning of the course would be great. I am not familiar with this area so I don't have any specific suggestions. Flash or similar is not a such a bad idea. Something that can start with animating simple shapes and then move into some of the concepts of develpment might work. I am assuming that by fine arts students you mean visual arts. If not, starting with graphical tools would not be such a good idea.
Since it is a first programming course start simple but get them doing something that is interesting. A powerful declaritive language that can do some cool thing will help motivate the student. They will get a glimpse at the possibilies and power in what they are doing. Maybe an interpretted lanquage with its own environment would be a good choice, such as something akin to Matlab.
At the end of the course you can start to introduce the other concepts like OOP and functional languages. Give them problems that are difficult to solve and then show them how these problems are address in other languages. That can't learn it all in an introductory course. Give them a taste and they can go where their interests take them.
One highly productive developer in my office has a notoriously short term memory. One day he told me he was going to implement a feature, when he discovered the feature had written a few months ago... by him! He told me he found out because he used the same naming and the compiler told him.
I have a very good memory. I laughed at him for a year. Until I discoved I had done the exact same thing. Except I was not consistent in my naming, so I reimplement a few hundred lines of code. These days we are more organized so this is less likely.
Of course automated systems won't save you that often. But being systematic and remembering to keep notes and where to look is very useful, like having an encrypted password file for the rest of the passwords. Another example is having been forced to write meeting notes. At first I did this somewhat slapdash. But with my memory going a little I have been better about putting rationale and process of a decision not just the outcome. Now I occasional do go back, but as importantly it helps me to remember and I can actual ask someone to read the notes before going through the full explanation again.
I think the rest of what has been suggest is good and can be joined. Learn new things, find a role and learn how to be less reliant on memory, write things down, exercise - both mental and physical etc.
A very entertaining and interesting presentation is the story of the ribbon
http://blogs.msdn.com/jensenh/archive/2008/03/12/the-story-of-the-ribbon.aspx
It gives a lot of examples of user interface design practices. This includes watching users and building in tools to track usage and some advice on testing with users.
You can also higher a user experience consultant to do user experience and usability tests. They can provide grounded feedback based on interview and observations.
There are also a lot of other material on the topic. Look under Uesr Experience, Human Computer Interface, or Interactive Design.
Some companies offer 1 to 3 day courses in various cities. I have not tried this but they are probably OK to getting started yourself.
Obviously there is no magic bullet but there are existing systems to keep from going off in the wrong direction and starting with the big picture.
If you read the methodology page http://www.careercast.com/jobs-rated/2012-jobs-rated-methodology then a lot of the problems are obvious. One that stands out to me is that the stresses are almost all elements of other factors, especially work environment. The stress criteria are not what comes to my mind when I think about work stresses. I can see where they are legitimate but not if they are already reflected by other categories.
I found the two ring model works great. http://www.kids-fun-science.com/cool-science-experiments.html Instead of a straw you can just roll up the remainder of the peice of paper. It glides amazingly flat and even. I remember reading that it had one some distance contests when launched from a platform but I could not find a reference on line.
I have taken a computer art course before. I have a masters in fine art (painting) and I have been a software developer for more than 15 years, so I have some familiarity with artists and technology. Here are some of my thoughts. I suspect you will get a mixed bag of technical (computer) skills. You should be prepared for some very novice level individuals. My first suggestion is to try to come up with collaborative projects. Then techincally sophisticated can group with the less sophisticated. They can learn from each other. You should suggest that technically savvy students team up with beginners. You might ask some questions to help people decide what group they are in and give you a sense of where the group is as whole. The projects should be very open ended. You might want to offer a choice of projects at each step. The ability to be creative with projects will be a great motivator. From what I have seen, many creative people find tightly defined assignments and work constraining and demotivating. Conversly they will invest extra energy and effort if they can and explore and shape the result. Just like the posts above, the individual students probably have very different ideas about what the course will be teaching. They also probably know what they themselves are interested in pursuing. Provide them avenues for exploring what the want with flexible projects. Do teach them as much about structure and rules as you can. Students will need to learn the basic of game design. Teach them everything you know in a structed and simple manner. Creative people will have no trouble pushing the boundaries. However, they need a framework to build on. For example, maybe they are interested in a game in which decision alter the properties and capabilities of the character. They would need a strong backing in more traditional game mechanics to have any hope of pulling off a self evolving game. Maybe they just want to work on some novel visual style. Then they would need some kind of basic gameplay to make an integrated result. For tools, use those that hold you by the hand the most. Anything you can do to help them produce something fun, especially at the beginning of the course would be great. I am not familiar with this area so I don't have any specific suggestions. Flash or similar is not a such a bad idea. Something that can start with animating simple shapes and then move into some of the concepts of develpment might work. I am assuming that by fine arts students you mean visual arts. If not, starting with graphical tools would not be such a good idea.
Since it is a first programming course start simple but get them doing something that is interesting. A powerful declaritive language that can do some cool thing will help motivate the student. They will get a glimpse at the possibilies and power in what they are doing. Maybe an interpretted lanquage with its own environment would be a good choice, such as something akin to Matlab. At the end of the course you can start to introduce the other concepts like OOP and functional languages. Give them problems that are difficult to solve and then show them how these problems are address in other languages. That can't learn it all in an introductory course. Give them a taste and they can go where their interests take them.
One highly productive developer in my office has a notoriously short term memory. One day he told me he was going to implement a feature, when he discovered the feature had written a few months ago... by him! He told me he found out because he used the same naming and the compiler told him.
I have a very good memory. I laughed at him for a year. Until I discoved I had done the exact same thing. Except I was not consistent in my naming, so I reimplement a few hundred lines of code. These days we are more organized so this is less likely.
Of course automated systems won't save you that often. But being systematic and remembering to keep notes and where to look is very useful, like having an encrypted password file for the rest of the passwords. Another example is having been forced to write meeting notes. At first I did this somewhat slapdash. But with my memory going a little I have been better about putting rationale and process of a decision not just the outcome. Now I occasional do go back, but as importantly it helps me to remember and I can actual ask someone to read the notes before going through the full explanation again.
I think the rest of what has been suggest is good and can be joined. Learn new things, find a role and learn how to be less reliant on memory, write things down, exercise - both mental and physical etc.
A very entertaining and interesting presentation is the story of the ribbon http://blogs.msdn.com/jensenh/archive/2008/03/12/the-story-of-the-ribbon.aspx It gives a lot of examples of user interface design practices. This includes watching users and building in tools to track usage and some advice on testing with users. You can also higher a user experience consultant to do user experience and usability tests. They can provide grounded feedback based on interview and observations. There are also a lot of other material on the topic. Look under Uesr Experience, Human Computer Interface, or Interactive Design. Some companies offer 1 to 3 day courses in various cities. I have not tried this but they are probably OK to getting started yourself. Obviously there is no magic bullet but there are existing systems to keep from going off in the wrong direction and starting with the big picture.