Computational Thinking

April 3, 2018

By weaving in real-world projects, Duke Engineering is piloting a new approach to introductory computing—one that gives students not only a strong foundation in programming skills, but a vision of coding as a creative tool

Shaundra B. Daily likes to compare coding to a paintbrush.

“It is a creative tool. It can create useful things that improve the way people live,” said Daily, a faculty member in Electrical and Computer Engineering (ECE).

Students don’t always think of computing that way—and that means many of them don’t think of computer science, engineering or other coding-centric careers as a potential path for them. In piloting a fresh approach to Duke Engineering’s introductory computing course, Daily and her colleague Michael Gustafson are looking to ways to change that.

Duke Technology Scholars: Diversifying Coding

A new program at Duke is working to increase the number of tech-savvy women and other underrepresented groups in computer science and engineering.

Duke Technology Scholars—a joint initiative of the Departments of Electrical & Computer Engineering and Computer Science—seeks to inspire greater diversity in tech fields through building strong professional relationships and providing real-world experiences at leading technology firms.

Each student selected as a “DTech” Scholar is paired with a mentor working in a leading organization in the tech world—many DTech mentors are Duke graduates. Our mentors help scholars build confidence and professional networks, as do summer internships with companies in Silicon Valley, Chicago or Research Triangle Park. In fact, 96 percent of scholars surveyed reported that their technical skills and confidence rose significantly over the summer.

DTech also offers an associates program for eligible ECE/CS majors offering training and networking events, job-search support and coaching throughout the academic year. Duke ECE's Shani Daily serves as faculty director for DTech, and Monica Jenkins is program director.

Learn more at »

“In general, first-year students don’t always get to see what seniors see, which is that you can apply the fundamentals of programming to a wide array of fields to make a positive social impact,” said Daily. “But plenty of research shows that it helps attract and retain students when you give them earlier exposure to doing creative things through computing.”

The spring 2018 offering of the Computational Methods in Engineering course continues to provide rigorous training in computational methods. But Gustafson, a Duke ECE faculty member who co-teaches the course with Daily, said computational thinking is about more than memorizing the details of a computing language.

“It’s about being able to think in computational terms when assessing a problem—to use computation as part of solving that problem,” he said. In the new pilot course, students will be challenged to connect computing to real-world, collaborative problem-solving through team projects. They’ll draw on what they’ve learned about programming logic, iterative calculations and debugging to figure out what those methods can achieve for the end user and how to build an interface for their target audience.

In one example, students will analyze pollution levels in the Great Lakes using models from environmental engineering. They will use computational methods and tools learned during lecture—for example, linear algebra and nonlinear regression—to estimate how various environmental and other factors might impact the system over time.

Then they’ll build an interface that presents the information in a variety of ways.

“The power of this approach is that each student is exposed to concepts of computational thinking right from their first year in engineering school,” Gustafson said. “This gives each student a suite of basic practical skills, training in problem-solving concepts and preparation for more complex computational training, letting them hit the ground running when they select their engineering discipline.”