Skip to main content

Home/ Teaching of Programming/ Group items tagged computer science

Rss Feed Group items tagged

Manuel Menezes de Sequeira

CS0: The Beauty, Joy and Awe of Computing - 0 views

  •  
    We propose to develop Computer Science 0 (CS0): a new introductory general service course, available to students across the university, to share the beauty, joy and awe of computing (Mcgettrick et al., 2008; Garcia et al., 2009). This course has the potential to serve as a model for a new CollegeBoard Advanced Placement course in the works (Astrachan et al., 2009), which could have national impact. Students will be gently introduced to programming and computational thinking using a new graphical programming language called Scratch (Maloney et al., 2004), with the emphasis on problems relevance to themselves and society. In addition to allowing more opportunities for creativity in the first computer science course, the language has been designed to make learning to program easier by preventing a common frustration for novices, syntax errors. It also supports a computer science "big idea", which is software reuse - it allows students to upload their finished graphical programs to the web which can then be run online in a web browser, downloaded, modified (or, "re-mixed") and re-uploaded. These "Web 2.0" features are the first to be integrated seamlessly into a programming environment, and we are encouraged by the existing active community of worldwide student developers. Finally, the new course will provide the opportunity to broaden participation in computing, a critical component to addressing the current computing enrollment crisis.
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

CCSC Statement of Purpose - 0 views

  • The Consortium for Computing Sciences in Colleges is a non-profit organization focused on promoting quality computer-oriented curricula as well as effective use of computing in smaller institutions of higher learning which are typically non-research in orientation. It supports activities which assist faculty in making appropriate judgments concerning computing resources and educational applications of computer technology. Because departments in smaller colleges and universities are usually small and not highly specialized, the Consortium also encourages the sharing of expertise, effective curricula and efficient technological applications. The Consortium is concerned with the advancement of major programs in both Computer Science and Computer Information Systems, and with the use of computers in the Liberal Arts and Sciences.
Manuel Menezes de Sequeira

CS Principles - Home - 1 views

  • Computer Science: Principles is a new course under development that seeks to broaden participation in computing and computer science. Development is being led by a team of computer science educators organized by the College Board and the National Science Foundation.
  •  
    Interesting project. Check the pilot courses, some of them with videos (e.g., Brian Harvey's).
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

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!
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

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

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

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

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

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

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

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

Local Chapters | SIGCSE - 0 views

  • Do you wish that you could... extend the excitement of the SIGCSE conferences to your locale? share your ideas and problems with colleagues more than once a year? have a local organization that encouraged computing faculty in your area to meet? Because the SIGCSE Board believes that many people will say yes to these questions, we approved an initiative to encourage the formation of SIGCSE chapters. The process for starting an ACM SIGCSE Chapter is straight forward. Information on this process can be found at Starting an ACM Chapter.
  •  
    Do you wish that you could... extend the excitement of the SIGCSE conferences to your locale? share your ideas and problems with colleagues more than once a year? have a local organization that encouraged computing faculty in your area to meet? Because the SIGCSE Board believes that many people will say yes to these questions, we approved an initiative to encourage the formation of SIGCSE chapters. The process for starting an ACM SIGCSE Chapter is straight forward. Information on this process can be found at Starting an ACM Chapter.
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

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.
1 - 17 of 17
Showing 20 items per page