Using an automated reasoning program as a CS application in discrete mathematics
Connections between topics in discrete mathematics and applications to computer science could enhance the discrete mathematics course. Showing students these connections through good interesting examples bridges the theory with application. This paper ...
Using peer-evaluation in a website design course
Peer-evaluation is used to assess students' levels of comprehension of primary Human Computer Interaction (HCI) principles as implemented in a specific learning product - a website. Specifically, students demonstrate their knowledge and application of ...
Implementation of an interactive web application using FOSS, a participant-oriented evaluation study
In the paper we describe a study that we undertook to determine the issues that arise in using free open source software in the implementation of an interactive web application. We report on the software products used, the freely-available online ...
How do we manage student projects?: panel discussion
Project work may be included in any class but it is fundamental to the senior-level capstone class that is a part of the degree requirements of most undergraduate computer science programs. Projects expose students to the practical problems of software ...
A computer forensics minor curriculum proposal
Computer and network security is a growing concern to all organizations and individuals worldwide. Information security is a critical part of information and communication technology infrastructure. Computer forensics can play an indispensable role in ...
A multidisciplinary approach to graduate education in informatics: a proposal in process
One area of information technology quickly becoming paramount is the field of Informatics. Employing people who understand Informatics is a top priority for science industries, business, government and the military sectors. Informatics can be defined as ...
Introducing multicultural issues to the computer science classroom: tutorial presentation
Compared to other disciplines, the computer sciences have been traditionally considered to be an "unnatural" ground for introducing multicultural topics, and raise awareness on crucial global and local societal issues. Despite the general attitude, ...
Game programming concepts can be taught at CP-CCSC schools: panel discussion
Computer and Video gaming have made a significant impact upon our current generation of college students, in particular computing students. We can tap into that interest within our departments in several different ways: We can offer a beginning game ...
Using BlueJ and Blackjack to teach object-oriented design concepts in CS1
This paper describes a sequence of Java programming assignments for the CS1 course which can be used to reinforce the basic concepts of object-oriented design in a logical, consistent way. By using the BlueJ environment, even programming novices are ...
A comprehensive Capstone project in Computer Science I: getting the (instant) message
Providing meaningful programming assignments for students who are just learning how to write software is an important task. Problematic issues that arise include programs which are too small or too well-defined to be relevant to real-world software ...
Teaching an object-oriented CS1 course in Python: tutorial presentation
Python's use in education has grown rapidly, due to its elegantly simple syntax. Though often viewed as a "scripting language," Python is a fully object-oriented language with an extremely consistent object model and a rich set of built-in classes. This ...
Constructing a solid real-time operating systems course in computer science major
This paper presents a way of constructing a solid real-time operating system course in a computer science major. It gives a complete course example (in terms of textbook selection, electronic equipment, and structuring the course materials to be covered)...
Use of a simulator and an assembler in teaching input-output processing and interrupt handling
A simulator and an assembler for a basic computer was developed and used in our Computer Systems course. It is a complete system with an input register, an output register, an input flag, an output flag, and an interrupt facility that can be triggered ...
The arrow program: a software engineering case study for CS1---nifty assignment
This paper describes The Arrow Program, a thorough programming assignment suitable for an introductory level course in computer programming. The assignment teaches students how to construct programs modularly from functions and allows them to gain a ...
Division by integers using multiplication: nifty assignment
Students are introduced to the concepts surrounding processor speed and computing cycles beginning in CS0 courses through assembly language and computer architecture courses and beyond. Students are encouraged to replace "expensive" operations such as ...
Java programming assignment using client/server interaction: nifty assignment
This paper describes an assignment used by the author in an advanced Java programming course. The goals of the assignment include: (1) to help students learn stream-based process communication using sockets, and (2) to have an assignment that is ...
Developing and learning web services with open source software: an experience report
To simultaneously teach the principles of software engineering and expose students to current in-demand technologies in the business world, one recent undergraduate course put them through a semester-long project to design and build a web service from ...
Introducing SOA and workflow modeling to non-technical students
Introducing workflow modeling into a course can create new pedagogical challenges. This article reports experiences with two lab assignments involving workflow modeling using AquaLogic™BPM Designer 5.7 software. The author reports experiences teaching ...
Hands-on robotic programming: tutorial presentation
In this workshop, participants will be introduced to robotic programming through the use Lego Mindstorms™ RCX kits, and the new NXT kits that came out in August 2006.
A data mining course for computer science and non-computer science students
A Data Mining course has been offered twice during the last two years at Missouri State University. The course is designed for both computer science and non-computer science majors with minor prerequisites. Moreover, the course is designed for both ...
Data mining in sports: predicting Cy Young award winners
A Bayesian classifier was created to predict Cy Young Award winners in American baseball. The model was compared against two statistical models designed to perform the same task. Over the years from 1967 through 2006, the accuracy of the Bayesian ...
An assembly language I.D.E. to engage students of all levels: tutorial presentation
MIPS assembly language is widely taught in computer organization and related courses due to its elegant design and ease of learning. In this workshop, participants will explore varied uses of the MARS integrated development environment (IDE) and ...
Ensuring an appropriate workforce in computing: keynote address
The past decade has witnessed a veritable roller-coaster ride in the computing workforce. During the late 90s, enrollments were booming in undergraduate computing programs as companies scrambled to find enough qualified individuals to fill jobs. IT was ...
Learning Python: conference workshop
Python is a free, portable, dynamically-typed, object-oriented scripting language. This interactive half-day tutorial for computer science instructors provides a comprehensive introduction to Python as used in a CS1 course. We will write programs ...
Interactive symbolic software for teaching formal languages, automata and beyond
We use the interactive symbolic software system, called FoLa (FOrmal Languages & Automata), for teaching formal languages, grammars, automata and related modern topics in theoretical computer science. We utilize symbolic techniques to develop an easy-to-...
A new simulator and ide for teaching CS220: computer architecture
In this paper we present a new computer architecture that we used for teaching CS220, Computer Architecture. We have written an integrated design tool consisting of customizable assembler, integrated editor, and customizable execution engine (ID3E). ...
Hands-on operating systems made easy
This paper presents the experience that the authors have had in an Operating Systems course with a semester long project. This project allows students to implement major concepts taught in an O/S course with the help of a simple hypothetical machine. ...
Mathematical modeling of cyber attacks: a learning module to enhance undergraduate security curricula
We have been experimenting with methods for improving undergraduate curricula and research experiences as well as the security courses for Computer Science and Information Systems students. Recent surges in attacks and intrusions reflect vulnerabilities ...
Security trumps efficiency: putting it into the curriculum
Security issues are becoming increasingly important due to market forces and recent legislation. Traditional techniques of teaching beginning programming leave students with dangerous habits, viewing security as an optional, add-on requirement. ...
Corporate forensics class design with open source tools and live CDS
While Corporate and Law Enforcement (LE) Forensics share a common process; they differ in important ways including context, scope, outcomes, and tools. Since most forensic texts are created from a LE perspective, designing a corporate forensic class can ...