Computer Science Teacher
Computer Science Teacher - Thoughts and Information from Alfred Thompson

August, 2008

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    New Web Design Curriculum Released


    Are you looking for ways to engage your students in 21st century learning? Would you like to generate enthusiasm and excitement about using technology in your classroom on a daily basis? Are your students interested in developing skills they can employ immediately for fun and for profit? Would you like to provide your students with opportunities to work on complex projects in teams? After teaching computer science for more than twenty years, I am pleased to be a guest writer on Alfred Thompson’s blog. He is a knowledgeable, dedicated and insightful colleague. My goal for this blog today is to inform you about new teaching and learning materials that are now available (in beta form) at no charge.

    I am excited to announce the creation of Introduction to Web Design Using Microsoft Expression, a one semester curriculum unit, released just in time for the start of the new school year. The curriculum, written by a team of eight outstanding classroom teachers from across the country, provides an extensive collection of unique teaching materials that thoroughly span Web Design knowledge and skills and promote meaningful, real-world learning experiences. Students will engage in authentic learning experiences and design modern Web sites with the same tools that professional Web designers currently use. I can guarantee that this curriculum is unique because it represents the best thinking of a team of talented educators – all of whom have taught multiple subjects for many years. We have synthesized the creativity of web design, computer science, media arts, math, fine arts, science, business education and home economics teachers.

    By providing students with opportunities to be creators, rather than only consumers, of technology, Microsoft aims to motivate the next generation to explore and develop their talents. Many students who would be intimidated by a programming class enter the technology pipeline via web design, gaming or robotics. The content in this web design curriculum is appropriate for secondary students and non-technical community college and university students. In order to make your life as a busy educator a little easier, we have based the detailed lesson plans, tutorials, presentations, student projects, and assessment rubrics upon the ISTE's National Educational Technology Standards (NETS) and 21st Century Skills.

    The first 4 of the 8 learning modules are available for you to download right now at Microsoft’s Pre-Collegiate Faculty Connection. The remaining 4 modules will be available September 15.

    • Module 1: HTML Basics 2 weeks

    Module 1 introduces basic HTML tags and cascading style sheets (CSS) through projects designed to experiment with page design and introduces the concepts of Web standards and accessibility.

    • Module 2: The History and the Future of the Web 1 week

    Module 2 explores the past and future of Web technologies and the structure of the Web. The rights and responsibilities surrounding intellectual property rights in an electronic world are emphasized.

    • Module 3: Designing for Communication 2 weeks

    Module 3 explores human communication and the unique challenges that electronic modes of communication present for effective transmission of ideas.

    • Module 4: Working with Images 3 weeks

    Module 4 uses Microsoft Expression Design to create images. Image concepts related to scanning, digital photography, and image manipulation techniques are included.

    • Module 5: Beyond the Basics with Expression Web 2 weeks

    Module 5 introduces the Expression Web environment and provides tutorials to guide them in creating a Web site.

    • Module 6: The Design Process 3 weeks

    Module 6 explores Web technology careers and simulates the design planning process of Web design professionals. Team collaboration and customer interactions are emphasized.

    • Module 7 The Production Process 3 weeks

    Module 7 guides students in the production of the Web site that was planned and designed in Module 6.

    • Module 8 Web Publishing and Maintenance 2 weeks

    Module 8 establishes processes and techniques for selecting hosting services, evaluating the effectiveness and usability of Web sites, and providing maintenance over time.

    This curriculum project represents an expansion of a short Expression Web curriculum unit and tutorial that we developed for United States high schools in the fall of 2007. The need for additional and more extensive web design teaching/learning materials was identified by feedback we received from teachers who participated in our 2 pilot projects in the fall of 2007 and spring of 2008. The following information may be of interest to you and your students:

    • 75% of for United States high schools offer a Web Design/Development class (2007)
    • 71% of the educators involved in the Expression Web tutorial pilot reported that it was a valuable teaching tool and they would use it again. The remaining 29% strongly agreed with that statement, yielding a full 100% accord amongst pilot educators that the Expression Web tutorial was a valuable and useful teaching resource.
    • 64% of students reported that, after participating in the Expression Web tutorial, they would like to build another Web site.
    • 57% of US teens report that they create content for the Internet

    The curriculum is currently in beta version and is being taught by educators in the US and several countries through a pilot program. Schools participating in the pilot program receive a free subscription to MSDN AA for High School that provides the Expression software needed to teach the curriculum.

    Expression Web is Microsoft’s most recent Web design and development software. It replaces FrontPage and gives your students the tools they need to create high quality, standards-based web sites that meet today’s standards with sophisticated CSS-based layout and formatting. There are many additional resources for learning Expression Web and Design. Learn Microsoft Expression offers training for both Expression Web and Expression Design with tutorials, videos and quick start guides. These are great for teacher preparations as well as valuable tools for teaching in the classroom.

    We hope you and your students will enjoy this new set of teaching and learning materials! The 30 high school girls that participated in Microsoft’s “Digigirlz” technology camp last week at Microsoft’s headquarters in Redmond, Washington were able to learn how to use the software and build simple web sites in less than four hours. The girls voted to have a web site design competition and created some truly amazing sites. Students who have a “service learning” or “community service” requirement at their high school have reported that they completed this assignment by building a web site for a local non-profit organization in their community. We trust this curriculum will help you provide students with useful opportunities to engage in creating in and out of classroom experiences that you want.

    We would love to hear from you! If you are interested in learning more about joining our team of teachers who are piloting the curriculum or want to let us know about interesting projects your students are working on, please contact me.

    Pat Phillips, Director
    Web Design Pilot Programs

    EDIT: Some links below:

    ·         Your Learning Guide to Expression Web Tutorial

    ·         Expression Web Curriculum

    ·         Introduction to Web Design Using Microsoft® Expression® (Beta)

    ·         Introduction to Web Design Using Microsoft® Expression® (Beta), Module 1 HTML Basics

    ·         Introduction to Web Design Using Microsoft® Expression® (Beta), Module 2 History and Future of the Web

    ·         Introduction to Web Design Using Microsoft® Expression® (Beta), Module 3 Designing for Communication

    ·         Introduction to Web Design Using Microsoft® Expression® (Beta), Module 4 Working with Images

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    The Language is NOT the Important Thing


    Invariably when anyone posts about “the right” programming language to use in a first course a lot of discussion ensues. People are notoriously opinionated about this topic. I am not exempt from this and I admit that I have fallen into this trap in the past. But as I talk to people, read peoples thoughts in blogs and papers, and think more seriously about the first computer science or programming course the more I am coming to the conclusion that the programming language is not the biggest factor in success. Not in success in that first course and definitely not success in a career (academic or commercial) in computer science, Information Technology or just plain programming.

    I’m starting to conclude that the real important things are the instructor and the curriculum – especially the contexts that are used to introduce the concepts. Let’s start with the instructor.

    Teachers are always an easy target but most of the time they are unfairly criticized and I don’t mean to beat up on people. There are a lot of really amazing teachers out there and I’ve been privileged to meet and work with a good number of them. I do think though that there are a number of things that get in the way of great teaching in computer science. And there are a number of things that I think are required to teach computer science well. Most of these things are probably in teaching any subject though.

    1. Enthusiasm – Students learn (by example) the enthusiasm for the subject from their teacher. A teacher who would really rather be teaching Calc BC but who feels stuck teaching introduction to programming is going to turn students right off. You cannot easily hide that sort of thing. Likewise if you really hate COBOL you are going to transmit that dislike to students. I had a wonderful talented teacher who didn’t like COBOL. I learned but not as much as I did in other courses the same teacher taught. Had he not been such a superior teacher I might not have learned at all. It takes a lot to overcome a lack of enthusiasm.
    2. Knowledge – Somehow I don’t think it is possible to teach more then a fraction of what we know. If a teacher knows twice what they need to teach they are probably golden. But staying a chapter ahead of the students is not going to be good for either the students or the teacher. I’ve been there and it was tough. In the case I did it only the language was new to me so I like to think the students got some good out of it but it would have been much better if I’d been more expert in the language. We’ve got a lot of high school computer science teachers who have only a shallow knowledge of the subject. They took a programming course 15 years ago in FORTRAN and now they are trying to teach Java. It’s just painful for everyone involved.
    3. Openness – By this I mean a couple of things. They need to be open to trying new things. They need to be open to saying to their students “ok we are going beyond what I know so we’re going to learn together.” They need to be open to seeing students as partners in learning. Now some of you are going to say “wait! weren’t you just talking about needing knowledge?” Yes, but no one can know everything. Plus in computer science things are constantly changing. We expect teachers to know where to go for answers, to know how to learn and to have a background that enables them to know what questions to ask and to recognize the right answer when it bites them.  If a teacher has proved to a student that they have a great base of knowledge they will continue to respect a teacher who is willing to admit they don’t know everything. Not only that but a teacher who encourages students to go beyond the course syllabus and even what the teacher knows teaches a student to be fearless in learning. To me that is a powerful lesson.

    Now to talk about context a little. Converted math teachers love to teach the math side of programming. Not every student is a fan of math though. OH sure a serious computer science student needs math but why turn students off in the beginning by hiding the other contexts where computer science is used? I’ve become a big fan of the way they are doing things at Georgia Tech. I’ve heard Mark Guzdial talk about their program a number of times now (Visit this blog post of his to find a link to the slides he used at the recent Microsoft Research faculty Summit) and I must say that the results they are getting are impressive. In short they have several different first programming/computer science courses. It’s different for CS majors, non-majors and engineering majors.

    Now not every school can have several different first level courses. There is no way that will work in the average high school for example. But I do think there are lessons there that high school computer science teachers can use. I think that finding a context that works for students, one that they can get as excited about as the teacher can, will work great things for many schools. Maybe it is robotics or media manipulation (which Georgia Tech is having great results with) or genetics (which is working at a couple of colleges including Wheaton College in MA), or even game development which is working at high schools and universities around the world. Or maybe something else. In some cases it may be possible to mix contexts, especially in full year courses, to allow students to find the context that is meaningful and motivating for them. that one will probably take a big dose of openness and fearlessness. :-)

    Does the language have a lot to do with which context on chooses? Probably not that much. There isn’t much one can do in one language that one can’t do in many others – at least not in a first course. You want an IDE that students can use. You want a language that allows one to teach/learn the concepts of a first course. But really a first course is not about preparing a student for a career. A language that might get them a job at one company might be useless at another. Quality of instructor and contexts that inspire, interest and motivate students are going to have a lot more value in the long run than what language is used.

    Let’s also not confuse the first course with a whole curriculum or as the be all and end all of a computer science education. Just because a first course uses one language and one context doesn’t mean that’s all one needs or uses. Along those lines, Mark A. Graybill has a great post on the value of Learn[ing] Another Language that I highly recommend. I really believe that people really need to learn more than one programming language and that ideally they should learn them early in their education. I just discovered Mark’s blog (An Infinite Number of Cats on Keyboards) and there are a lot of interesting posts there.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Five Minutes is a Long Time


    Mark Twain once said “I didn't have time to write a short letter, so I wrote a long one instead.” If you have any doubts about the truth in that statement try to write a five minute presentation sometime. Last week I did just that – twice.

    Last Thursday and Friday I took part in a presentation skills workshop. This was the third presentation workshop I have taken part in during the last five years. That’s at least two more such training than I took part in during nine years of classroom teaching BTW. Makes you wonder doesn’t it? Anyway, during the two days each of 14 people gave two 5-minute presentations. All of these people give presentations, often to skeptical or even unfriendly audiences as well as friendly ones of course, as part of their job. Many of them have been doing this for years. Several have been university or high school faculty. All are comfortable in front of all sorts of audiences. In short, this was not amateur hour. But for everyone preparing a five minute presentation was a lot of work.

    I spent at least two hours on each of my presentations and that was using and modifying an existing presentation. In one case I had previously taken a 40 minute talk and pared it down to 20 minutes. Now I had to pair it down to five minutes. What do you take out? What do you keep? And how do you keep the audience awake and interested when you are one of 14 people giving a talk based on the same original presentation? I’d love to report that mine was the best – but it wasn’t. I put myself in the middle. It was a great learning and somewhat humbling experience. It caused me to completely rethink how I use PowerPoint BTW. Some of my team is just amazing at putting together visual interesting slides that augment rather than distract from a talk. Now I am going to re-do all of my slide decks.

    One of the big things that I learned  from this experience is that one can really pass on a lot of information in a five minute talk. Obviously you can cover a lot more with more time but I think that all too often speakers add a lot of filler in order to fill the time they have available. By forcing oneself to think about the five minute time limit one really gets to the heart of what they are trying to say.  I wonder if a five minute talk would be a good way to introduce or perhaps review a topic for students? I’m pretty sure that asking students to cover a topic in a five minute talk would be a good exercise though.

    I can see a bunch of students thinking “ha, five minutes. I can do five minutes in my sleep.” But I’ll bet that many will go too long and others will fit their talk in the required time only by leaving things they know are important out. They’d learn something though. Do this often enough and they’ll get good at it though. I really think this is a valuable skill. Some of them will eventually want to work on the 30-60 second “elevator pitch” and this will get them going in the right direction. Others will find themselves with only a few minutes to explain an idea or a project or a product to a senior manager some day. All of them will have to think very hard about what is and is not important in a topic and that is a valuable skill in itself. This is as import in computer science as it is in any other field.

    Sorry this is so long. I really didn’t have time to shorten it. :-)

Page 1 of 8 (23 items) 12345»