Computer Science in Top 18 in Nation

homepage_clouds_lgPayScale, a compensation analysis web site, has announced the top 25 university computer science programs in the country and Michigan Tech placed 18th.

In its 2016-2017 College Salary Report, Payscale ranked 171 colleges and universities with computer science programs based on the median early-career and mid-career pay of the schools’ computer science alumni. Tech’s early-career computer science salaries are listed at $63,900. Mid-career median pay is $126,000.

“This is great news. It is the best indicator of the quality of our programs,” said Min Song, chair of Computer Science.

Stanford University ranked number one in the nation, with its computer science graduates reporting a median early-career salary of $99,500 and mid-career salary of $168,000. Read the full report.

By Jenn Donovan

Havens and Pinar Present in Naples and Attend Invited Workshop in UK

Timothy Havens
Timothy Havens

Tim Havens (ECE/CS) and Tony Pinar (ECE) presented several papers at the IEEE International Conference on Fuzzy Systems in Naples, Italy. Havens also chaired a session on Innovations in Fuzzy Inference.

Havens and Pinar also attend the Invited Workshop on the Future of Fuzzy Sets and Systems in Rothley, UK. This event invited leading researchers from around the globe for a two-day workshop to discuss future directions and strategies, in particular, to cybersecurity. The event was hosted by the University of Nottingham, UK, and sponsored by the National Cyber Security Centre, part of UK’s GCHQ.


Tech Seeking Teachers Who Want to Bring Computer Science into their Classrooms

CS4All group photoMichigan Technological University is inviting K-12 teachers and administrators to a workshop in August, to help them find ways to bring computer science and programming into their classrooms. The workshop, supported through a Google CS4HS (Computer Science for High Schools) grant, exposes teachers to exciting new ways to bring computer science into schools.

This is the third year Google has supported a computer science workshop at Michigan Tech for teachers.

“As computer technology becomes an ever more powerful and pervasive factor in our world, students need instruction in the creative problem-solving skills that are the basis of computer science,” explains Linda Ott, professor of computer science at Michigan Tech and director of the workshop. “Software design and programming skills, along with an understanding of the principles of computer systems and applications, are tremendously valuable in a wide range of future careers, and the problem-solving process of computational thinking can be used to enrich a wide range of K-12 courses. New tools and teaching materials make it possible to bring the creative spirit of computing into K-12 classrooms.”

“From a teacher’s perspective, however, bringing computer science into the classroom can seem intimidating,” Ott goes on to say. “We want to help teachers develop confidence in their own computer science literacy and help them craft a computing curriculum that meets their teaching missions.”

The workshop will cover a basic understanding of computer science principles, help teachers integrate programming into new and existing courses, disseminate K-12 computer programing course materials developed at Michigan Tech and provide tools for increasing interest in computing among young women.

Participants will receive lunches, a stipend to help with travel and other expenses and a year of assistance in course development from a Michigan Tech computer science graduate student. Out-of-town teachers will receive free accommodation at the Magnuson Franklin Square Inn.

Visit the article in Tech Today http://www.mtu.edu/ttoday/ by J. Donovan for a link on how to apply.


Self-Stabilizing Systems

It was August 15, 2003. A software bug invoked a blackout spanning the Northeast, Midwest, and parts of Canada. Subways shut down. Hospital patients suffered in stifling heat. And police evacuated people trapped in elevators.

What should have been a manageable, local blackout cascaded into widespread distress on the electric grid. A lack of alarm left operators unaware of the need to re-distribute power after overloaded transmission lines hit unpruned foliage, which triggered a race condition in the control software.*

47

Ali Ebnenasir is working to prevent another Northeast Blackout. He’s creating and testing new design methods for more dependable software in the presence of unanticipated environmental and internal faults. “What software does or doesn’t do is critical,” Ebnenasir explains. “Think about medical devices controlled by software. Patient lives are at stake when there’s a software malfunction.”

How do you make distributed software more dependable? In the case of a single machine—like a smartphone—it’s easy. Just hit reset. But for a network, there is no centralized reset. “Our challenge is to design distributed software systems that automatically recover from unanticipated events,” Ebnenasir says.

The problem—and some solutions—has been around for nearly 40 years, but no uniform theory for designing self-stabilizing systems exists. “Now we’re equipping software engineers with tools and methods to design systems that autonomously recover.”

Ebnenasir’s work has been funded by the National Science Foundation.

*Source: Wikipedia


Ubiquitous High-Performance Computing (UHPC) and X-Stack Projects

The Ubiquituous High-Performance Computing Project, funded by the Defense Advanced Research Projects Agency (DARPA), initiates research on energy-efficient, resilient, and many-core computing on the horizon for 2018. Faced with the end of Dennard scaling, it was imperative to provide better hardware and software to face energy consumption of future computers, but also to exploit a large number of cores in a single cabinet (up to 1015 floating-point operations per second), all the while consuming no more than 50kW. A thousand of those machines have the potential to reach one exaflop (1015 floating-point operations per second). The hardware should expose several “knobs” to the software, to allow applications to gracefully adapt to a very dynamic environment, and expand and/or contract parallelism depending on various constraints such as maximal authorized power envelope, desired energy-efficiency, and required minimal performance.

Following UHPC, the Department of Energy-funded X-Stack Software Research project recentered the objectives. By using traditional high-performance communication libraries such as the Message-Passing Interface (MPI), by revolutionizing both hardware and software at the compute-node level.

In both cases, it was deemed unlikely that traditional programming and execution models would be able to deal with novel hardware. Taking advantage of the parallelism offered by the target straw-man hardware platform would be impossible without new system software components.

The Codelet Model was then implemented in various runtime systems, and inspired the Intel-led X-Stack project to define the Open Community Runtime (OCR). The Codelet Model was used on various architectures, from the IBM Cyclops-64 general-purpose many-core processor, to regular x86 compute nodes, as well as the Intel straw-man architecture, Traleika Glacier. Depending on the implementations, codelet-based runtime systems run on shared-memory or distributed systems. They showed their potential on both classical scientific workloads based on linear algebra, and more recent (and irregular) ones such as graph-related parallel breadth-first search. To achieve good results, hierarchical parallelism and specific task-scheduling strategies were needed.

Self-awareness is a combination of introspection and adaptation mechanisms. Introspection is used to determine the health of the system, while adaptation changes parameters of the system so parts of the compute node consume less energy, shutdown processing units, etc. Introspection and adaptation are driven by high-level goals expressed by the user, related to power and energy consumption, performance, and resilience.

The team studied how to perform fine-grain resource management to achieve self-awareness using codelets, and built a self-aware simulation tool to evaluate the benefits of various adaptive strategies.

45

The TERAFLUX Project

The TERAFLUX project was funded by the European Union. It targeted so-called “teradevices,” devices featuring more than 1,000 cores on a single chip, but with an architecture that will make it near-impossible to exploit using traditional programming and execution models. DF-Threads, a novel execution model based on dataflow principles was proposed to exploit such devices. A simulation infrastructure was used to demonstrate the potential of such a solution, while remaining programmable. At the same time, it was important to maintain a certain level of compatibility with existing systems and features expected by application programmers.

Both models borrow from dataflow models of computation, but they each feature subtle differences requiring special care to bridge them. Stéphane Zuckerman and his colleagues ported DARTS—their implementation of the Codelet Model—to the TERAFLUX simulator, and showed a convergence path existed between DF-Thread and codelet-execution models. The research demonstrated the advantages of hardware-based, software-controlled multithreading with hardware scheduling units for scalability and performance.

Stéphane Zuckerman presented the results and outcomes of his research in peer-reviewed conferences and workshops.


Keith Vertanen Receives Exceptional Instructor Evaluation Score

image124044-persCongratulations to Keith Vertanen for having been identified as one of only 71 instructors who received an exceptional “Average of 7 Dimensions” student evaluation score during Spring semester 2017. Keith’s score is 4.53 with an enrollment of 105. Keith received the same recognition in Spring 2016 with a score of 4.49 with an enrollment of 85.

Congratulations Keith!  Please keep up the good work!


Improving Cyber Security—Education and Application

Most cyber attacks aren’t new. Rather, they are new to the administrators encountering them. “The workforce isn’t well trained in these complex issues,” Jean Mayo explains. “One problem we encounter in education is that we cannot allow students to modify the software that controls an actual system—they can cause real damage.”

Our goal is to keep the data safe not only by controlling who has access, but by ensuring file integrity.

With support from the National Science Foundation, a team of Michigan Tech computer scientists teaches modern models of access control using visualization systems within user-level software.

Mayo and her team are also taking a fresh look at teaching students how to code securely. “The system we developed will detect when security is compromised and provide students with an explanation of what went wrong and how to fix it,” she adds.

42

File System Enhancement for Emerging Computer System Concerns

Mayo is applying existing firewall technology to file system access control. In her core research, she’s providing greater flexibility for administrators to determine when access is granted. “Using the firewall model to filter traffic content—like a guard standing by a door—we can add more variables to control file access, like time of day or location. It is more flexible, but also more complex—firewalls are familiar and help administrators navigate the complexity.”

Mayo is also developing a language for guaranteeing file security. “Our goal is to keep the data safe not only by controlling who has access, but by ensuring file integrity.” This system will disallow changes made to a file when the change doesn’t meet file specifications. “This helps to prevent users from entering incorrect data.”


Better, Faster Video Processing and Image Enhancement

When you view a YouTube video, you are viewing tens of gigabytes compressed up to 50 times. The process to transmit what an HD camera captures requires large quantities of frame-by-frame video data transmission—and such is the case in sports broadcasting—it must happen fast.

Computational complexity is high because sports coverage is real-time.

“We can take advantage of similarities of each frame to reduce the size of the transmissions,” Saeid Nooshabadi says.

In the case of sports, where video is captured from multiple angles, computer scientists can reconstruct missing coverage using free-view video technology. “The more cameras recording—the better,” he adds. Computational complexity is high because sports coverage is real-time. Applications of Nooshabadi’s multi-view video processing work, funded by the National Science Foundation, include not only sports reporting, but surveillance and even remote surgery.

When your smartphone captures photos in burst mode, capturing a photo every half-second, each image is ever-so-slightly different. The images can be combined, stacked, and processed using complex mathematical operations to enhance the quality. This technology is useful in consumer-imaging devices.

41

“One of my students is working with the Donald Danforth Plant Science Center to apply image registration techniques to phenotyping applications. The technique requires referencing data from multiple sensors to the same spatial location, so data from multiple sensors can be integrated and analyzed to extract useful information,” Nooshabadi says.

“Previously these technologies required supercomputers. Now with advancements in mobile digital devices, the technology is becoming faster and more accessible.”


Planning Under Uncertainty

The road below has no forks, nor is it fog-covered, but you still can’t predict what lies ahead. Making decisions under uncertainty involves more than being presented with multiple options and choosing the best one. The problem is much more complex because the forks and options are not readily seen.

Inevitably, plans go wrong. Plans for robots and plans for humans. It’s impossible to predict all the ways plans may go wrong—or how to fix them. Nilufer Onder works to create algorithms to address and fix plans—from construction management to the Mars rover and microarchitecture. Her research spans interdisciplinary areas where uncertainty is prevalent.

Simulator Verification: Searching for a Base Truth

Simulators are large, complex pieces of code. Simulation developers continually modify the code to adapt to ever-changing technology. Onder and her team from Michigan Tech, including Zhenlin Wang and Soner Onder, developed a graphical structure to automatically derive verification constraints from simulator traces. SFTAGs (state-flow temporal analysis graphs) take into account stochastic paths and durations taken by events that are being simulated.

Constructing Parallel Plans

Automatic generation of robust plans that operate in realistic domains involves reasoning under uncertainty, operating under time and resource constraints, and finding the optimal set of goals to work on. Creating plans that consider all of these features  is a computationally complex problem addressed with the planner CPOAO (concurrent probabilistic oversubscribed planning using AO). CPOAO includes novel domain independent heuristics and pruning techniques to reduce the search space.

38

Risk-Informed Project Management

The construction industry is the largest single production activity in the US economy–accounting for nearly 10 percent of the gross national product. Contingencies commonly cause delays and added costs in construction projects. Onder’s work involves providing automated techniques to avoid and respond to contingencies.

Together with Amlan Mukherjee, a researcher in civil and environmental engineering at Michigan Tech, Onder created a learning environment for construction management students to predict and address change. “Students take a construction plan and overlay it with events that cause delays. Then we ask students to react to the scenarios,” she explains.

Onder’s team developed ICDMA (interactive construction decision-making aid) which uses AI-planning technology to predict the paths a project can take.

Student Persistence in Engineering and Computer Science

Careers in engineering and computer science usually promise a well-paying and -respected job. However, approximately 55 percent of US students leave these fields within six years, choosing a non-STEM field or leaving higher education altogether. Onder’s group investigates the complex issues surrounding student persistence, including who influences career choices, what factors affect changing majors, and the under-representation issues involved in staying in a major.


Creating Opportunities for Women in Computing

For Linda Ott, debugging a program is like solving a mystery. “We don’t tell girls about computing when they’re young, so they don’t see how fun computing can be,” Ott explains. “They hear about biology and chemistry, but computing seems abstract.” And very few middle and high schools have computing courses or instructors. “Girls don’t see role models,” she adds.

Computer science is no longer lone individuals sitting in a dark room on a computer. It’s vibrant, team-based, and a lot more fun.

Ott studied computer science at Purdue University in the 1970s—a time when there were few other female computing scholars. At Michigan Tech, she is
devoted to giving more women the opportunity to discover computing.

Ott observes that when girls do have the chance to program—to create something out of nothing—they often really enjoy the experience. “It’s problem solving. They get to express ideas by writing code.”

With a grant from the Jackson National Life Insurance Company, in 2014 Ott helped restart the Women in Computer Science Summer Program. She is integral in the fundraising, curriculum, instruction, and coordination of the weeklong program that offers 36 girls from Michigan, Minnesota, Wisconsin, Illinois, North Carolina, and Pennsylvania the chance to discover computer science.

37

Through the National Center for Women and Information Technology Pacesetters, Ott works with a cohort of academic and industry professionals who are committed to dedicating resources, brainstorming, and marketing to recruit more women into the computing fields. “There’s a spectrum of possibilities for women in computing—they may work in the user experience end or be involved as a project manager,” Ott says.

Through her work with students, Ott observes that typical computer science job descriptions are obsolete and career assessments can be misguiding. “Women might not enter this field because an assessment directs them to other areas. What they don’t realize is the wide array of skills useful in this field.” She has convinced NCWIT to take a look at this problem—and to reevaluate career assessments, too.

“Computer science is no longer lone individuals sitting in a dark room on a computer. It’s vibrant, team-based, and a lot more fun.”


The Making of a Citizen Science App

Astronomy is a citizen’s science. Its foundation is ordinary people who help answer serious scientific questions by providing vital data to the astronomical community. Nebulas, supernovas, and gamma ray sightings.

The availability of smartphones make collecting and sharing scientific data easier, faster, and more accurate.

These days former astronomy teacher Robert Pastel isn’t as interested in the stars, but he is serious about environmental science and using computer science—and smartphones—to capture more data from citizen scientists.

The availability of smartphones make collecting and sharing scientific data easier, faster, and more accurate. Pastel works with Alex Mayer, professor of civil and environmental engineering at Michigan Tech, students in both computer science and humanities, and scientists around the world to build mobile apps that feed real-world projects.

It starts in the summer, with scientists. “We reach out to them, or they find us. They share an idea and how citizen science can be used,” Pastel explains. “Then the app building begins; it’s about a two-year process.”

When the academic year rolls around, Pastel challenges his Human-Computer Interactions class to build the initial app prototype. In the following year, during Pastel’s Senior Design course, the app undergoes a makeover—from mobile app to a web-based tool. “By this time the scientists have likely changed their minds or solidified their ideas, and more changes are made,” Pastel adds.

34

An interactive mushroom mapper is the group’s most successful accomplishment to date. Hikers, bikers, or climbers—anyone with a smartphone and an affinity for fungi—capture a photo of the fungus, specify the type, describe the location, and hit submit. All via the app. The mushroom observation data reaches Eric Lilleskoz, a research ecologist with the United States Department of Agriculture. Mushroom Mapper has more than 250 observations from around the country. The app is also used for natural science education in local middle schools.

In addition to creating apps for citizen science, this NSF-supported effort has spawned student-initiated software development and offline apps.