Skip to main content

Home/ Groups/ Teaching of Programming
Manuel Menezes de Sequeira

Why computer science students cheat - 2 views

  • "We worry less about catching cheaters. We worry more about properly assessing the student's skill set," Stallworth says. "Less percentage of the grade is from homework and more percentage is from the assessment, and the assessment is designed to truly [measure] skills. Then you can cheat on homework, but that's not going to help you with the assessment that counts for the bulk of your grade."
  • "We haven't seen an increase in failure rates," Stanford's Sahami says, adding that 5% or less of students typically fail introductory computer classes. "This is not a student body that accepts failure. For them to pass all of their classes is an important thing."
  •  
    Interesting points: Top US universities use assignments followed by oral assessment, the latter counting for "the bulk of the grade", to discourage academic dishonesty (as we have been doing at ISCTE). I heard the idea on "encouraging collaboration" previously, but not with the acknowledgment of "other students that helped". I'm not sure it would bring any advantages to the current situation. It would probably just delay the self-awareness of a student's limitations until the "oral assessment". Another idea on the subject (from Abílio Oliveira, I think?) that would be worth trying is an honor-statement that students would have to deliver, signed, in which they vow that their work was solely done by themselves. This forces students to be more conscious about cheating and some that will cheat, will probably not sign such a statement.
  •  
    Yes. A code of honor would help. Perhaps we need a range of approaches: * Augment the weight of collaboration-based, individually evaluated assignments. * Separate more clearly collaboration-based tasks from individual tasks. Isolated groups of students may be counterproductive. Instead, group assignments would stimulate collaboration even among groups. * Perhaps this requires extra individual feedback for the students, some of which might be self-assessment. * State clearly in a code of honor what is expected of the students. Maybe a system of labels and icons could be used to identify clearly the type of assignment.
Manuel Menezes de Sequeira

Tagging - 2 views

diigo tagging diigo use diigo

started by Manuel Menezes de Sequeira on 27 Mar 10 no follow-up yet
Manuel Menezes de Sequeira

greenfoot.org - 0 views

  • Consider greenfoot as a combination between a framework for creating two-dimensional grid assignments in Java and an integrated development environment (class browser, editor, compiler, execution, etc.) suitable for novice programmers. While greenfoot supports the full Java language, it is especially useful for programming exercises that have a visual element. In greenfoot object visualisation and object interaction are the key elements. If you know BlueJ and a microworld framework (like Karel the Robot or the AP Marine Biology Case Study) consider greenfoot as the best from both: object interaction (BlueJ) and object visualisation (microworlds).
  •  
    An alternative to BlueJ with a much more visual bend that makes it somewhat similar to Scratch.
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

visual-tracer - Project Hosting on Google Code - 0 views

  • Visual Tracer allows the user to watch and explore the trace of an executing application. It shows information about the main events as they occur, as well as about the existing instances and their historical values. Visual Tracer has a nice GUI that allows the user to set the status and the speed of the application execution. Visual Tracer handles both single- and multithreading applications.
  •  
    This is, as yet, a proof-of-concept AspectJ library that allows the programmer to watch and navigate a complete record of a program's execution. The next step of this project is to use all the gathered information for building dynamic UML diagrams.
Manuel Menezes de Sequeira

take-an-advice - Project Hosting on Google Code - 0 views

  • The aim of this project is to create an AspectJ library making it possible to enforce Java coding policies and to express some of the constraints and semantics of UML directly in the code, making it more expressive and allowing these constraints and semantics to be checked either at compile time or at runtime. The library currently supports semantics related to accessibility, design by contract, relations between objects and the nature of the state of objects.
  •  
    It may be a good idea to use Java annotations for expressing constraints and semantics that are usually absent from Java code. This allows compile time or runtime checks to be performed, and coding policies to be automatically enforced. These annotations can also improve the ability of tools such as Visual Tracer to show richer information about the dynamic structure of a program.
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

About Scratch | Scratch Documentation Site - 0 views

  • As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively.
  •  
    Information about the scrach programming language.
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

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

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

  •  
    Article by Bjarne Stroustrup on teaching software developers.
« First ‹ Previous 41 - 53 of 53
Showing 20 items per page