Songs and the analysis of algorithms
In teaching a course that includes the analysis of algorithms, songs can be used as teaching examples. Multiple examples can be done at one time, or in one homework set, without the background explanation required to analyze real algorithms. Many ...
Parallel and distributed algorithms: laboratory assignments in Joyce/Linda
A NSF ILI grant funded development of parallel and distributed laboratories for an undergraduate course in parallel algorithms. The laboratory assignments explored various parallel and distributed architectures, and paradigms. These assignments were ...
Teaching inheritance versus inclusion to first year computer science students
This paper describes two laboratory experiments used at the Rochester Institute of Technology to teach first year CS students the difference between inheritance and inclusion (aggregation, composition).
An unlevel playing field: women in the introductory computer science courses
This study looks at students in introductory computer science courses at two major universities in order to understand some of the reasons behind the recent sharp decline in the number of female computer science majors. The study focuses on gender ...
Developing the VLSI laboratory for the computer architecture course
The paper presents an alternative way of having a hardware laboratory for the computer architecture course that is taught in every computer science curricula. For institutions like CSUSB, with no College of Engineering, having an actual hardware ...
A system-based sequence of closed labs for computer systems organization
The closed-lab environment has been used successfully in the Computer Science curriculum. This paper proposes a set of laboratories, that combine the use of hands-on techniques and logic simulation. During a semester, students in Computer Systems ...
A supplementary package for distance education students studying introductory programming
Teaching introductory programming can be a challenging task. Students can become too concerned with learning syntax at the expense of more general conceptual understanding. Distance education students in particular often have problems as the difficulty ...
Object-centered design: a five-phase introduction to object-oriented programming in CS1–2
With Pascal waning in popularity as the CS1 language of choice, many colleges and universities are considering the adoption of C++ (an imperative and object-oriented hybrid language) as its replacement. An important issue that must be addressed in ...
An object-oriented program development environment for the first programming course
Over the last ten years there has been a major shift in programming language design from procedural languages to object-oriented languages. Most universities have adopted an object-oriented language for their first programming course. However, far less ...
The joy of software—starting with objects
This paper briefly describes the evolution and content of the Open University's new introductory course in Computing which has been designed for delivery internationally to over 3500 students per year. It replaces a conventional procedural programming ...
Preparation for research: instruction in interpreting and evaluating research
Traditional curricula have concentrated on teaching students the content of a subject; however, it has recently become apparent that effective education needs to include explicit instruction in many of the auxiliary skills and attitudes needed for the ...
Teaching computer science: experience from four continents
In this paper we compare and contrast computer science curricula in four universities in four different countries (and continents): Australia; Israel; South Africa and Sweden. Uppsala University in Sweden is a European university founded in 1477 with a ...
Internet-accessible information retrieval tools for advanced DB/IR courses
A number of information retrieval tools are now freely available over the Internet, either as full production programs or demos. These programs illustrate a wide variety of IR techniques, and can allow students to gain realistic, hands-on experience ...
Database theory in practice: learning from cooperative group projects
This paper describes the use of cooperative group learning concepts in support of an undergraduate database management course that emphasizes the theoretical and practical aspects of database application development. The course project is divided into ...
The INGRES Tutorial as a tool in teaching database theory (or, I can't believe it's not training)
The course in database principles is an example of a course in the computer science curriculum in which a balance is sought between theory and applications. With some exceptions, most computer science majors at the author's university prefer material ...
A software infrastructure to support introductory computer science courses
This paper describes the software developed to support the first two years of the Computer Science curriculum at the Rochester Institute of Technology. The system supports student retrieval of files and data; on-line submission with immediate, automated ...
YAP3: improved detection of similarities in computer program and other texts
In spite of years of effort, plagiarism in student assignment submissions still causes considerable difficulties for course designers; if students' work is not their own, how can anyone be certain they have learnt anything? YAP is a system for detecting ...
Creating Windows applications using Borland's OWL classes
This paper presents a brief overview of Windows programming in C++ with Borland's OWL classes and describes the planning and organization of a course in graphical user interfaces. It may be helpful to instructors who would like to combine the creation ...