Daniel A. Cañas

Associate Professor of Computer Science
Wake Forest University
(336) 758-5355
canas@wfu.edu

I was born in Costa Rica, the happiest country in the world, yes the the “Pura Vida” country! After graduating from high school, I went to México to pursue my Computer Engineering degree at the Instituto Tecnológico de Monterrey which I completed in 1973, graduating with Honors.
After a year of “thinking” I decided to go back to school and finished my MS degree in Information and Computer Science at Georgia Tech in 1976.
Upon my return to Costa Rica I worked at the recently created Instituto Tecnológico de Costa Rica (ITCR). During my stay at ITCR, as founder and Director of the Computer Center (wow this sounds old...) I also contributed with the establishment of the Computer Science Department (now recognized as one of the best in the country).
In 1980 I received a Fulbright Scholarship and headed to the University of Texas-Austin, where I finished my PhD work in 1983. I then spent 3 years as a faculty member in the Department of Computer Science at the University of Kansas. In 1987 I accepted a faculty position at WFU. I have been here since, many many wonderful years!


Education

University of Texas-Austin

PhD Computer Science
May 1983

Georgia Institute of Technology

MS Information and Computer Science
May 1976

Instituto Tecnológico de Monterrey

BS in Computer Engineering
May 1973

Professional Interests

Operating System
Computer Science Education
App Software DevelopmenT

Teaching Schedule

FALL 2023

Computer Systems II

CSC-251

Study of computer system mechanisms supporting program execution, with a focus on process and resource management. Topics include process control, virtual memory, concurrency, parallelism, file-based and network-based I/O, and additional coverage of system-level programming #######

More information..

Database Management Systems

CSC-321

This course will introduce the student to computer organization and computer architecture. Computer organization is concerned with the way hardware components are connected together to form a computer system, while computer architecture is concerned with the structure and behavior of the various functional modules of the computer and how they interact.

More information..

Mobile Programming

CSC-391

Students will select a project based on requests that been received from other departments. Each project will have a counterpart from the department requesting the development. Students will design the user interface and requirements in conjunction with the end-user counterpart. They will learn how to develop mobile Apps, based on IOS with Objective C and Swift. This will be done by them in a self study approach with the supervision of the instructor. Students will be assigned weekly readings and programming exercises and in parallel they will have weekly meetings with the end-user to analyze progress and the overall structure of the system.


Undergraduate Research

Market Research and Competitive Analysis of the Wake Forest University Computer Science Curriculum

Izzy Ballis
Undergraduate Honors Thesis
Abstract

Visual Simulation of Context Switching Utilizing an iOS Application Environment

Undergraduate Honors Thesis
Abstract

Romper el Techo de Cristal

Lucy Fricke
Undergraduate Honors Thesis
Abstract

Floating Point Multiplication in Pipeline Architectures

Benjamin Walsh
Undergraduate Honors Thesis
Abstract

There is an ever-increasing demand for speed when it comes to modern technology. There are many different approaches to achieving an increase in processing speed. One such strategy is called pipelining, in which a computational task is broken down into subcomponents called stages. Buffering is added between the stages so that once a set of inputs has made it to the second stage, a new set of inputs can be started at the first stage, and so on. This allows for multiple computations to be occurring at the same time in the pipeline, which leads to an increase in throughput. This study focuses on a floating point multiplier, a common application of a pipelined design because it offers tremendous speedups. Both a non-pipelined and a pipelined floating point multiplier were implemented in a program called LogicWorks, which is a tool for interactive circuit design. Running simulations of each of the circuits allowed for a side by side comparison of their speeds. Although the pipelined multiplier required more hardware, it offered significantly better throughput

Scheduling Algorithms Interactive Simulator

Gavin Borg
Undergraduate Honors Thesis
Abstract

To fully understand the conceptual principles behind operating systems it must be possible to 'see' what is happening inside the system as the execution of a task progresses. A graphic representation of information flow would give a clear picture of what is happening inside an operating system at every moment. This research presents a graphic representation of information flow inside an operating system, in particular the short term scheduler. This is done via an App developed for the iOS system.

Real Time Semaphore Execution Tracing

Justin DeBenedetto
Undergraduate Honors Thesis
Abstract

The EZIPC library simplifies inter-process communication between concurrent processes for users. This allows users new to concurrency and inter-process communication to effectively learn about semaphores and shared memory without having to simultaneously manage the more complex system calls that these normally require. Semaphore tracing has been previously implemented to allow users to view the actions of their semaphores “post-mortem.” The goal of this project is to allow users to view, in real time, the actions of semaphores during program execution in a readable way. This involves implementing a way to suspend execution when a semaphore is used in order to allow to user to walk through the program step-by-step. This also involves designing an interface that provides the user with the most information possible at each step and presents this information in a readable way.

The University Calendar in a WFU framework

Lesley Gustafson
Undergraduate Honors Thesis
Abstract

The University Calendar app is an attempt to make the Wake Forest University Calendar more accessible to students, faculty, staff, and the Winston-Salem community. The content is accessed through an API, and then displayed in an iPhone friendly user interface. The home screen is designed so that users can filter through the calendar content based on their specific needs. Category and date filters can be applied for this purpose. Detail views for each event make time, date, location, and description more quickly accessible.

WFU Parking

Matthew A. Simari
Undergraduate Honors Thesis
Abstract

The Wake Forest Parking mobile application provides all members of the Wake Forest community will real-time data on where they can park on-campus and how available the parking may be. By employing extensive GPS, mapping, and iOS functionality, the Wake Forest parking application provides a much needed service in a very sophisticated way.

Cardio View: Equipment use in Miller Center

Rachel Black
Undergraduate Honors Thesis
Abstract

As the population of students at our campus grows with each year the facilities that students use on a daily basis are starting to feel overcrowded. Our campus gym, the Miller Center, is no exception especially during certain hours of the day. In an attempt to lighten the frustration of students, the Cardio View iPhone application was developed. This application models a currently popular website, Laundry View, which gives students the ability to view the status of the laundry machines in each of the dorms. In a similar manner our application allows students to view the status of the cardiovascular machines at the gym, as a way to gauge how crowded the gym is prior to their arrival. We use external sensors on the equipment that broadcast data to a server. On the server we utilize a support vector machine which, based off of training data, decides if each machine is in use, as well as calculating how long it has been at that particular status. The application then downloads this data in real time, along with location based data, to create a map of the Miller Center with the machines colored based on their usage. In addition these machines are click able to show the user how many minutes they have been in use. We have many future plans to expand the project including but not limited to a web and android interface, and utilizing push notification to allow users to be notified when a machine becomes available.

Foreign Exchange Markets: An Algorithmic Approach to Intra-Day Scalping Strategies

Stewart Warther
Undergraduate Honors Thesis
Abstract

The global Foreign Exchange market accounts for approximately $4 trillion in transactions daily. In recent years, this market has become dominated by high-frequency and algorithmic traders who profit from intra-day transactions and short-term price fluctuations. This paper will examine topics and strategies employed by modern currency traders, focusing particularly on the use of Statistical Arbitrage. These strategies will are implemented and tested in real time to examine the efficacy of commonly employed technical indicators and betting techniques.

A Trace Driven Technique for Debugging Concurrent Processes

Dan Applegate
Undergraduate Honors Thesis
Abstract

The EZIPC library is used to simplify the implementation of interprocess communication in C and C++ programs written for System V Linux based machines. By reducing the number of complicated system calls and structures used needed for communication among concurrent processes, the learning curve is reduced, and students may better learn about the theories and practical applications of semaphores and shared memory blocks. However, EZIPC does not provide support for message queues, and there is no easy way to monitor the semaphores being used. This paper outlines a proposed solution, and discusses issues with implementing tracing functionality to EZIPC.

Server Implementation in Microkernel-Based Operating Systems

Andrew Davis
Undergraduate Honors Thesis
Abstract

Nearly all modern operating systems used for personal computing are now based on monolithic kernels. By changing to a microkernel-based architecture, though, systems could dramatically improve reliability and security in the system at the cost of a small performance penalty. In this paper, the structure of microkernel based operating systems is described, through the kernel, driver, server, and application layers. Finally, the implementation of a microkernel server is shown, using MINIX 3 to implement a server that provides a semaphore service to user applications.


Mobile Apps

Mobile devices are a part of our daily life. They are everywhere, from simple music players to sophisticated GPS devices. We are an interdisciplinary group composed of undergraduate students who are interested in the developing software for this emerging technology. Our members come from a variety of academic disciplines: Computer Science, Business, Mathematics, Economics and Physics just to name a few. There is only one requirement: willingness to learn about mobile applications, and have fun developing the apps, from Freshman to Seniors all are welcome.

Old Gold & Black

Mara Rodriguez, ...
The students newspaper
iOS

5 Choice Serial Reaction Time

...
The 5 choice serial reaction time task is an operant technique that measures attention capabilities in laboratory animals. The purpose of this project is to build an app for the iPad that mimics this task in order to measure attention capabilities in people. The task works by presenting brief targets that the person must correctly identify by touching the screen, and the task becomes increasingly more or less difficult depending on individual performance. Gathered data should be made available for further analysis.
iOS

Laundry View

Michael Moore
Many companies are turning to the mobile market in order to increase their appeal and ease of access; the key factor in the formation of WFU LaundryView. This iPhone application development project implements the LaundryView API in the iOS environment to retrieve the XML laundry room data and present the current state of the laundry rooms on the iPhone.
iOS

WFU TV Listings

Alex Ortega, Alind Barany, Nick Ladd
Stop guessing the channel number of your favorite TV station.This App will give you the channel number for WFU cable service. You can search by category or get a complete listing of the channels.
iOS

Scheduling Algorithms Interactive Simulator

Gavin Borg
To fully understand the conceptual principles behind operating systems it must be possible to 'see' what is happening inside the system as the execution of a task progresses. A graphic representation of information flow would give a clear picture of what is happening inside an operating system at every moment. This research presents a graphic representation of information flow inside an operating system, in particular the short term scheduler. This is done via an App developed for the iOS system.
iOS

Using GPS Technology to Track WFU’s Shuttle Buses

Michael Crouse, Thomas Loughran, V.J. Cerniglia
Students develop an iPhone app to track the shuttles' locations using a GPS program. The shuttle location is updated every five seconds so riders know when to head out to meet the bus. The GPS devices send their location to a centralized server from where the information is picked up by the iPhone/iTouch App which displays the current location of the bus.
iOS

Shuttle Riders

Michael Crouse
This iPad App is used in the shuttled busses to keep track of riders. Drivers record at each bus stop, how many passengers boarded the bus and how many passengers left the bus. This information os then sent to a server, where it is stored in a database which is later available via a web interface to obtain statistics about riders and bus stops.
iOS

ardio View: Equipment use in Miller Center

Rachel Black
As the population of students at our campus grows with each year the facilities that students use on a daily basis are starting to feel overcrowded. Our campus gym, the Miller Center, is no exception especially during certain hours of the day. In an attempt to lighten the frustration of students, the Cardio View iPhone application was developed. This application models a currently popular website, Laundry View, which gives students the ability to view the status of the laundry machines in each of the dorms. In a similar manner our application allows students to view the status of the cardiovascular machines at the gym, as a way to gauge how crowded the gym is prior to their arrival. We use external sensors on the equipment that broadcast data to a server. On the server we utilize a support vector machine which, based off of training data, decides if each machine is in use, as well as calculating how long it has been at that particular status. The application then downloads this data in real time, along with location based data, to create a map of the Miller Center with the machines colored based on their usage. In addition these machines are click able to show the user how many minutes they have been in use. We have many future plans to expand the project including but not limited to a web and android interface, and utilizing push notification to allow users to be notified when a machine becomes available.
iOS

Juke Box

Jessica Ferrando, Melissa Payne, Margaret Pritchard, Mara Rodriguez
Select your favorite song from your iPhone/iPad and your request will be sent to the disk jockey. Songs will be sorted by number of requests. This App is really atwo App system. One for the user requesting a song, and the second where the disk jockey will select the song. The disk jockey part can be automated so the most requested song is palyed.
Filemaker

Groceries

Gabrielle Wilson, Heather Key, Brooke Einbender
Ever got lost in a supermarket finding the aisle where the product in your shopping list is? Then this is your App. It will tell you in what aisle is your product. Arrange your shopping list by aisle and save time.
Filemaker

University Calendar

Lesley Gustafson
The University Calendar app is an attempt to make the Wake Forest University Calendar more accessible to students, faculty, staff, and the Winston-Salem community. The content is accessed through an API, and then displayed in an iPhone friendly user interface. The home screen is designed so that users can filter through the calendar content based on their specific needs. Category and date filters can be applied for this purpose. Detail views for each event make time, date, location, and description more quickly accessible.
iOS

WFU Parking

Mathew Simari
The Wake Forest Parking mobile application provides all members of the Wake Forest community will real-time data on where they can park on-campus and how available the parking may be. By employing extensive GPS, mapping, and iOS functionality, the Wake Forest parking application provides a much needed service in a very sophisticated way.
iOS

Other Interests

  • Babysitting my grandchildren
  • Soccer
  • Cooking
  •