Skip to main content

Home/ Teaching of Programming/ Group items tagged teaching of programming

Rss Feed Group items tagged

Manuel Menezes de Sequeira

How we Teach Introductory Computer Science is Wrong | blog@CACM | Communications of the... - 1 views

  • In general, we teach computing by asking students to engage in the activity of professionals in the field: by programming.  We lecture to them and have them study texts, of course, but most of the learning is expected to occur through the practice of programming.  We teach programming by having students program.
  • After a half-century of advocacy associated with instruction using minimal guidance, it appears that there is no body of research supporting the technique. In so far as there is any evidence from controlled studies, it almost uniformly supports direct, strong instructional guidance rather than constructivist-based minimal guidance during the instruction of novice to intermediate learners.
  •  
    Interesting blog entry about the reason why teaching be telling students to program by themselves does not work, at least for students starting to program.
Manuel Menezes de Sequeira

Introductory Computer Science Lessons--Take Heart! | blog@CACM | Communications of the ACM - 0 views

  • Obviously there are a huge range of teaching approaches to novice programming across the world, but let's take the Barnes and Kolling "Objects First With Java" text book and Blue J environment . It's very popular (ranked as number 1 in three of the Amazon technical books categories for what it's worth) and used as an introductory text in many computer science departments. One of the features of this well designed textbook is that it aims to teach high level concepts as a priority over lower level language constructs. The BlueJ environment enables students to experiment with object orientation by calling methods on objects in a graphical environment. The text book encourages students to read code before they write it, and "wire in" small segments of their own code into a pre-written program. The lecture slides which come with the book give specific instruction and worked examples; students typically recieve this sort of instruction before working on small examples in the lab. In fact, working on small examples after a lecture on programming concepts is in my experience a fairly common pattern in first year instruction.
  • Kirschner, Sweller and Clark recommend the practices of a) providing worked examples for students to read and b) providing process worksheets which explain to students the processes they should go through when solving problems.These are both sensible suggestions but I wouldn't say they were unusual for computer science teaching. I would suggest that we tend to use a mixed bag of instructional techniques rather than basing our pedagogy on pure theory. And so therefore: we probably get our first year teaching right at least part of the time. Which is a bit of a comfort.
  •  
    A response to Mark Guzdial's critique of minimally-guided instruction for introductory programming courses.
Manuel Menezes de Sequeira

Invent Your Own Computer Games with Python - Learn how to program with a free ebook pro... - 1 views

  • “Invent Your Own Computer Games with Python” is a free book (as in, open source) and a free eBook (as in, no cost to download) that teaches you how to program in the Python programming language. Each chapter gives you the complete source code for a new game, and then teaches the programming concepts from the example.
  • “Invent with Python” was written to be understandable by kids as young as 10 to 12 years old, although it is great for anyone of any age who has never programmed before.
  •  
    "Invent Your Own Computer Games with Python" is a free book (as in, open source) and a free eBook (as in, no cost to download) that teaches you how to program in the Python programming language. Each chapter gives you the complete source code for a new game, and then teaches the programming concepts from the example. "Invent with Python" was written to be understandable by kids as young as 10 to 12 years old, although it is great for anyone of any age who has never programmed before.
  •  
    Coloquei o texto que citaste como destaque (highlight). É melhor deixar as anotações para o nosso próprio texto. :-.)
Manuel Menezes de Sequeira

BlueJ - Teaching Java - 1 views

  • The BlueJ environment was developed as part of a university research project about teaching object-orientation to beginners. The system is being developed and maintained by a joint research group at Deakin University, Melbourne, Australia, and the University of Kent in Canterbury, UK. The project is supported by Sun Microsystems. The aim of BlueJ is to provide an easy-to-use teaching environment for the Java language that facilitates the teaching of Java to first year students. Special emphasis has been placed on visualisation and interaction techniques to create a highly interactive environment that encourages experimentation and exploration. BlueJ is based on the Blue system. Blue is an integrated teaching environment and language, developed at the University of Sydney and Monash University, Australia. BlueJ provides a Blue-like environment for the Java language.
  •  
    An IDE which makes programing in Java much more attractive and intuitive for beginners than the use of other, professional IDEs.
Manuel Menezes de Sequeira

Introduction to Programming and Scratch | Harvard Computer Science Lecture - 0 views

  • Introduction to Computer Science I is a first course in computer science at Harvard College for concentrators and non-concentrators alike. More than just teach you how to program, this course teaches you how to think more methodically and how to solve problems more effectively. As such, its lessons are applicable well beyond the boundaries of computer science itself. That the course does teach you how to program, though, is perhaps its most empowering return. With this skill comes the ability to solve real-world problems in ways and at speeds beyond the abilities of most humans.
  •  
    An example of Scratch used at university level. Thanks to Facundo Quiroga for pointing to this example.
Manuel Menezes de Sequeira

A Conversation with Alan Kay - ACM Queue - 1 views

  • All of these ideas could be part of both software engineering and computer science, but I fear—as far as I can tell—that most undergraduate degrees in computer science these days are basically Java vocational training.
  •  
    Interesting conversation with good insights into the history and nature of programming languages. The problems of Java are clearly pointed out. The degradation of introductory programming in computer science courses is also addressed.
Manuel Menezes de Sequeira

Jeliot :: Description - 0 views

  • Jeliot 3 is a Program Visualization application. It visualizes how a Java program is interpreted. Method calls, variables, operation are displayed on a screen as the animation goes on, allowing the student to follow step by step the execution of a program. Programs can be created from scratch or they can be modifyed from previously stored code examples. The Java program being animated does not need any kind of additional calls, all the visualization is automatically generated. Jeliot 3 understands most of the Java constructs and it is able to animate them. Especial effort is currenlty being addressed to animate object oriented features, such as inheritance.
Manuel Menezes de Sequeira

What Should We Teach New Software Developers? Why? | January 2010 | Communications of t... - 1 views

  •  
    Article by Bjarne Stroustrup on teaching software developers.
Manuel Menezes de Sequeira

Problets - The Home Page - 1 views

  • Problets are problem solving software assistants for learning, reinforcement and assessment of programming concepts. They are designed to help students learn programming concepts through small-scale problem-solving, and as a supplement to large-scale programming traditionally used in introductory programming courses. At this site, you can find out more about the capabilities of the problets, their pedagogy, and about using them in your courses.
Manuel Menezes de Sequeira

CS 202 - Introduction to Computation - 0 views

  • Designed for a diverse audience, this course examines some of the fundamental ideas behind the science of computing. This course, like the field of Computer Science in general, is more than just the study of how to use computers. At the highest level, this course focuses on studying algorithms which are step-by-step methods for accomplishing a complex task. Algorithms are useful in more places than you might imagine. Algorithms specify the work that must be done for large, complex tasks like sequencing the human genome and indexing and searching for web pages. But, algorithms can also describe how people can approach problems like finding a path out of a maze or solving a rubix cube. Understanding how to solve problems in a step-by-step fashion is useful for more than just computer scientists. In this course, we will investigate the types of problems we currently know how to solve with computation. We will compare different algorithms that solve the same problem and determine which are the most efficient. We will learn how modern computers perform computation by covering hardware and software topics on how data is stored and how instructions are executed. We will also survey the wide range of areas within computer science, including robotics, human-computer interaction, and artificial intelligence. To obtain hands-on experience with algorithms, we will be using a new programming environment called Scratch. Scratch enables beginners to create sophisticated programs by simply dragging and dropping predefined instruction blocks. Thus, we will acquire experience decomposing problems into well-defined steps without the fear of frustrating ``syntax'' errors. CS 202 can be used to satisfy the Quantitative Reasoning A (QR-A) and Natural Sciences requirements. CS 202 can also be used as part of a certificate in Computer Sciences.
Manuel Menezes de Sequeira

UC Berkeley EECS | CS10 : The Beauty and Joy of Computing | Fall 2010 - 0 views

  • CS10, The Beauty and Joy of Computing, is an exciting new course offered by the UC Berkeley EECS Dept. Computing has changed the world in profound ways. It has opened up wonderful new ways for people to connect, design, research, play, create, and express themselves. However, just using a computer is only a small part of the picture. The real transformative and empowering experience comes when one learns how to program the computer, to translate ideas into code. This course will teach students how to do exactly that, using BYOB (based on Scratch), one of the friendliest programming languages ever invented. It's purely graphical, which means programming involves simply dragging blocks around, and building bigger blocks out of smaller blocks.
Manuel Menezes de Sequeira

Scratch | Home | imagine, program, share - 0 views

  •  
    Scratch share site. Programmers share their scratch programs. This allows them not only to see other programmers projects executing, but also to download and remix the code of these projects.
Manuel Menezes de Sequeira

ACM: Digital Library: Communications of the ACM - 0 views

  •  
    As important insights about the attitudes of computer science students and faculty that may help to understand how better to teach introductory programming.
Manuel Menezes de Sequeira

Practice-It!, a web-based Java practice problem tool for computer science students - 1 views

  • An online tool to practice problems from our Building Java Programs, 2nd edition textbook and from the University of Washington's introductory Java programming courses. Click a textbook chapter or category below to view its available problems.
Manuel Menezes de Sequeira

CCSC Journal of Computing in Small Colleges - 0 views

  • The Journal of Computing Sciences in Colleges contains the conference proceedings for each of the regional conference sponsored by CCSC. It is distributed to faculty in over 200 colleges. Past issues of the journal have included articles such as: CS Accreditation Update Putting More Science into Computer Science I Teaching Ada at the Senior Level Ethical and Professional Issues in Computing Closed Laboratories in an Entry-Level C Programming Course Computing Curricula at a Community College Conducting User-Friendly Internet Workshops Campus Data Networks: A Case Study Non-Isomorphic AVL-Trees Experiences with Scheme in a Liberal Arts Computing Course
Manuel Menezes de Sequeira

sunner-projects - Project Hosting on Google Code - 0 views

  • Some plugins for moodle, include: OnlineJudgeAssignmentType grades programming assignments automatically AntiPlagiarismBlock uses moss and duplication to detect plagiarism in assignments HotQuestionActivity collects students' questions in non-virtual classroom. Pack all submissions of assignments
  •  
    Interesting plugins for Moodle allowing automatic grading of programming assignments, detection of plagiarism, etc.
Manuel Menezes de Sequeira

Google: Computer Science for High School (CS4HS) - 1 views

  • CS4HS (Computer Science for High School) is a workshop sponsored by Google to promote Computer Science in high school curriculum. With a grant from Google's Education Group, colleges develop a 2 day program for local high school CS teachers that incorporates informational talks by industry leaders, and discussions on new and emerging CS curricula at the high school level. On this site, you'll find information on how to hold a CS4HS workshop at your University, information for workshop attendees, and other helpful resources. We currently offer CS4HS grants in the US, Canada, and EMEA.
Manuel Menezes de Sequeira

SIGCSE - 0 views

  • The ACM Special Interest Group on Computer Science Education provides a forum for educators to discuss issues related to the development, implementation, and/or evaluation of computing programs, curricula, and courses, as well as syllabi, laboratories, and other elements of teaching and pedagogy.
Manuel Menezes de Sequeira

CCSC Journal of Computing in Small Colleges - 1 views

  • The Journal of Computing Sciences in Colleges contains the conference proceedings for each of the regional conference sponsored by CCSC. It is distributed to faculty in over 200 colleges. Past issues of the journal have included articles such as: CS Accreditation Update Putting More Science into Computer Science I Teaching Ada at the Senior Level Ethical and Professional Issues in Computing Closed Laboratories in an Entry-Level C Programming Course Computing Curricula at a Community College Conducting User-Friendly Internet Workshops Campus Data Networks: A Case Study Non-Isomorphic AVL-Trees Experiences with Scheme in a Liberal Arts Computing Course   Past issues of the Journal are archived in the ACM's Digital Library. There is open access to the CCSC archive section of the Digital Library. For your convienence, you can also access the library by conference proceeding. Note: You need an ACM account to access these documents. If you don't have one you can sign up for a free account, it is simple and easy!
1 - 20 of 38 Next ›
Showing 20 items per page