Skip to content

Spring 2018

4 / 13 Mr. Zamua Nasrawt

Less-Java, More Learning: Language Design for Introductory Programming

Less-Java is a new procedural programming language with static, strong, and inferred typing, native unit testing, and support for basic object-oriented constructs.

These features make programming in Less-Java more intuitive than traditional introductory languages, which will allow professors to dedicate more class time to overarching computer science concepts and less to syntax and language-specific quirks.

3 / 30 Prof. Steve Wang

Fingerprint-protected storage security: the good, the bad, and the ugly

How to use a fingerprint alone to protect a USB drive, a hard disk, or a remote web folder? Unlike passwords or cryptographic keys, whose comparisons are exact, even two consecutive readings of the same finger are not exactly the same; they are just close, making it hard to use a fingerprint to “encrypt” a USB or hard drive.

In this talk, we will discuss the security problem, some insecure implementations (the bad), some elegant theoretical results that may be suitable for the problem (the good), and the still-open road to adapt the theoretical results to solve the problem (the ugly).

3 / 30 Prof. Dee Weikle

A Plethora of Parallelism

From the late 1980s to the early 2000s, computer architects have been using advanced architectural and organizational ideas to contribute significantly to the speed up of computing systems. In the early 2000s, power consumption became an issue that forced architects to develop multi-core solutions. While this has provided increased throughput it has also necessitated that programmers have a higher awareness of how the hardware manages and supports parallelism of different forms. This talk will discuss types of parallelism and introduce the latest attempt to continue performance improvements in computer architecture, domain specific accelerators (DSAs).

3 / 16 Prof. Laura Taalman

Code x Design

Code is a powerful secret weapon for creating 3D-printable designs, and mathematics gives you a universe of beautiful abstract forms to build from. In this talk we’ll discuss how software like Grasshopper, OpenSCAD, Structure Synth, and TopMod can be used to turn mathematical knots, curves, polyhedral wireframes, and procedurally generated forms into physical 3D printed objects. If you’re new to 3D design then this talk will show you ways that you can get started; if you’re an expert then you’ll learn some new tools to add to your design library. We’ll also have lots of cool 3D prints to show and pass around.

1 / 24 Prof. Michael Kirkpatrick

Meltdown and Spectre: Complexity and the Death of Security

Meltdown and Spectre are two newly announced computer vulnerabilities. These attacks exploit flaws in how computers are designed and cannot be fixed at this time. That is, these attacks constitute a completely new type of attack by manipulating complex design structures to create unanticipated behavior. This talk will examine how Meltdown and Spectre work, and show how they highlight a long- known principle of computer security: complexity makes devastating attacks possible.

1 / 19 Profs. Bowers, Lam, Mayfield, Stewart, Taalman, Weikle, and Yang

What is CS Research?

We will begin with a brief overview of computer science research given by Profs. Lam and Weikle followed by a series of 5-minute flash talks giving you a window into ongoing research projects at JMU by Profs. Bowers, Lam, Mayfield, Stewart, Taalman, Weikle, and Yang. Whether you are looking to get into research or just interested in learning more, you are more than welcome!