Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I hope this is the right forum to ask this question.

Last friday I was in a discussion with my professors about the students' lack of motivation and interest in the field of Computer Science. All of the students are enrolled, but through questionnaires and other questions that my professor posed it was revealed that over 90% of all enrolled students are just in it for the reward of getting a job sometime in the future (since it's a growing field with high job potential)

I asked my professor for the permission to take over the first couple of lectures and try and motivate, interest and inspire students for the field of Computer Science and programming in particular (this is the Intro to Programming course). This request was granted and I now have a week to come up with a lecture topic for my professor's five groups.

My main goal isn't to teach, I just want to get students to be as interested in the field as I am. I want to show them what's possible, what awesome magical things have been done in the field, the future we are heading towards using programming and Comp. Sci.

Therefore, I would like to pose this question: I have a few topics, materials and sample projects that I would like to talk about:

  • Grace Hopper (It is my hope to interest the female programmers in the class. There are never more than two or three per group and they, more than males, are prone to jumping ship and abandoning Comp. Sci.)
  • The Singularity Institute
  • Alan Turing
  • Robotics
  • Programming not as a chore or a must, but the idea that we are, at our core, the nexus to which anything anybody does in the digital world is connected to. We are the problem solvers; we assemble all the parts together and we are the ones that, essentially, make the vision a reality.
  • Give them an idea for a programming project which, through the help of the professor, could be significant to every student (I want students to not only feel interested in the topic, but they should feel important, that what they do here makes a difference)

Do you have interesting topics worthy of discussion, something I can tell the students which they can get interested about? How would you approach the lecture? If you had 90 minutes worth of time to try and get students interested in the project, what would you do?

share|improve this question

closed as not constructive by Tom Squires, BЈовић, Walter, Yannis Rizos Apr 16 '12 at 6:58

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

    
please read the faq. Your question is off topic for this site –  Tom Squires Apr 15 '12 at 10:23
2  
Are you sure? It is for an Intro to Programming course and I wish to elaborate on topics of Comp. Sci. and programming. How is this not programming related? –  IAE Apr 15 '12 at 10:35
1  
@TomSquires If you feel something is off-topic, I think it would be a bit helpful for everyone if you point out how the question is off-topic. –  Glenn Nelson Apr 15 '12 at 13:04
3  
"90% of all enrolled students are just in it for the reward of getting a job sometime in the future". Fools! –  James Apr 15 '12 at 15:01
    
@GlennNelson I think the question is too subjective and not a good fit for this site. "Avoid asking questions that are subjective, argumentative, or require extended discussion. This is not a discussion board, this is a place for questions that can be answered! Thus, questions that are not answerable — discussions, debates, opinions — should be closed as subjective. It seems simple enough: Fact good; opinion and discussion bad." blog.stackoverflow.com/2010/09/good-subjective-bad-subjective –  Tom Squires Apr 15 '12 at 18:28
add comment

2 Answers 2

up vote 3 down vote accepted

First of all, ask yourself if a lecture is the place to really convince someone about a choice already made.

Second of all, someone who is in it for the money, will not suddenly get interested by a few words on famous computer scientists or beautiful applications. Get them out of your curriculum as fast as possible, since they have nothing to do with programming nor science.

Third of all, for the remaining 10%, allow yourself to be accessible outside of the lecture. Don't just have an open-door policy, but an open-arms policy. Embrace new ideas by students and respect them (even though they might already have been done four decades ago).

Fourth of all, why did you accept an invitation to speak, without knowing what to speak about?

Then, to the answer of your question (or, what to say during that awkward lecture you said yes to).

Just take one topic (such as social computing) and connect it with history (eg. the PLATO system), with interesting theory (eg. graph theory, map-reduce), with social impact (eg. age-generation gap problems), technological changes (eg. the smart phone), mathematics and probability theory (eg. show a proof that you're likely to be less smart than your social contacts).

Don't flesh it out too much, immediately show the possibility of finding more information through the university library and connect it with professors at the university (to show that knowledge is near).

share|improve this answer
    
While I agree that most people will not feel convinced through a discussion, that doesn't mean we shouldn't even try. I believe there are some students that are simply unsure of the possibilities or that don't know what to expect from such a course. I think it would be worth the effort if at least one person is convinced that Comp. Sci. is right for them. While I agree that the lecture is ad-hoc and that I didn't have a lot of time to prepare, I think it's a unique opportunity that I shouldn't say no to. Although yes, now that you mention it, it might be a little awkward :) –  IAE Apr 15 '12 at 13:49
    
In my experience passion for the field is a prerequisite. You can't learn it. At best you can hope to enkindle that passion in those who just haven't noticed it yet. –  Joachim Sauer Apr 16 '12 at 6:59
    
@Joachim I agree completely. Kindle passion, open up for ideas. I don't think you can do that during a lecture, but you could provide relevant pointers to be able to turn a smouldering idea into a blazing fire. –  Dibbeke Apr 16 '12 at 9:19
add comment

Firstly, I strongly disagree with @Dibbeke's points (except the actual answer part :) - and kudos for standing up for trying pass on your tangible passion to your classmates - make sure you continue this all throughout your life with your peers :)

Now to answer your question - try this:

History, stories, facts, impacts and predictions are good ingredients for such a class. Start with history and the evolution of computers - why were they invented in the first place (number crunching for solving equations for projectile etc. calculations of bombs in WW-II etc...) - now ask them a question - how do you 'talk' to the computer? You give it some primitive things it understands and you talk using that - for example +, -, * and / can basically perform every arithmetic computation on a primitive calculator (we aren't talking about optimization - but the fact that 4 operators are enough to tell the machine to do more complex arithmetic). Whip up some examples and say that how 4 operators gave you more - now increase the complexity: What about operator precedence? Someone will say 'parenthesis?' - good but quite irritating.

How about turning things around - talk about RPN (Reverse Polish Notation) and why they were good and what is used to solve them? Propose a simple problem: evaluate 5 6 + and then 3 5 * 6 +. Ask them to solve it i.e.'how' to solve it - the answer will be an 'algorithm'

Then direct their attention to 'stacks' as a solution to solve them. Allude to Queues and explain what are 'data structures' in the easiest way possible e.g. a way of storing data with a specific 'structure' and rules of access e.g. stack/queues etc. Explain their importance to solving problems.

Tell them how HP calculators implemented RPNs etc to pique their interest.

Now let's make it a bit more complex - ask them how would they sort a pile of books and offer explain how to 'explain' to a computer how to do it. If time permits hop to searching (keep the algorithms to the really primitive lame ones - you are NOT teaching them algorithms but getting a point across).

Now tell them how/when GUIs came along and how user interaction changed and how the underlying instruction sets became more complex and how 'languages' helped talk to the computer with ease (or not :) and how products are created and designed - why you need diagrams to 'analyze' why is it a 'creative' job what kind of problems can be solved and finally why is it fascinating! End your lecture there and then hope for the best (or an applause :D)

Basically tell a story and weave it properly ending at a point of 'fascination' that is palpable - I've just given you some pointers/examples - you should be able to figure the rest out. Best of luck! And yes, when one person teaches two people learn :)

share|improve this answer
    
Perhaps my answer was a bit harsh, although I still find myself in agreement with it. How I wish some of my professors would have connected the curriculum with history! But where do you start? At Al-Khwarizmi? Or with Ada Lovelace? Babbage? Perhaps operations research, like you said, and point out the mechanical artefacts. But, then again, real high-level programming started with Zuse, or should it be Lisp? Should we include Turing, Godel, Church? For this reason, and others, I find it more logical to start with the present and leave history for another class. –  Dibbeke Apr 16 '12 at 21:31
    
@Dibbeke - Agreed. I usually tend to teach with History from WW-II onwards and hold Babbage in my little bag of trivia. Godel, Turing, Church are usually reserved for the lectures on automata theory so it's easy to leave them out. If their interest is piqued enough I let them discover about about Ada Lovelace, Al-Khwarizmi, Zuse and Lisp - only the passionate ones go there - the usual humans find it too deep :P –  PhD Apr 19 '12 at 0:35
1  
Mere mortals :) –  Dibbeke Apr 19 '12 at 16:05
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.