May 3, 2022 • By Matthew Tierney
The ECE Capstone Design Fair returned in person this April, held for the first time in the Myhal Centre main auditorium, and Professor Khoman Phang is smiling.
Phang is the course coordinator for ECE Capstone, or ECE496, the yearlong design course for fourth-year undergraduates that culminates with students presenting and displaying their projects.
“The richness of the students' work this year is extraordinary,” he says. “It just shows the broad range and ambition of our undergrads, pursuing applications in fields such as health care, gaming, fintech, robotics and others. I’m quite proud of their initiative and effort, and it is wonderful that our students can showcase their accomplishments in person again this year.”
“The Capstone project is an important milestone in the ECE undergraduate journey,” says ECE Chair Professor Deepa Kundur. “The end-to-end planning and execution of a project within a team setting is an important step from foundational learning into true innovation. The 2022 projects are a strong indication that ECE students are poised to contribute to the profession.”
Students are taught to develop their code according to fundamental design principles while employing critical problem-solving skills. However, it can be difficult for TAs and professors to assess their students’ methodology based on the final iteration of the code.
“Half the struggle of programming is learning how to get to the solution, versus getting to the solution,” says Angy Higgy (Year 4 CompE).
Higgy teamed up with Naman Gulati (Year 4 CompE) to create CodeCapture, an application that shines a light on students’ coding process so that instructors are able to give richer feedback.
CodeCapture takes periodic snapshots of a student’s code as they work on an assignment. It extracts data from these snapshots to help instructors evaluate, at a glance, the complexity and correctness of the code and the amount of effort of the student requited to implement it.
The user interface displays compact graphs of three metrics: the code length, the test runs that the code passes, and the code’s ‘cyclomatic complexity’ — a quantitative measure of the number of logical paths. In addition, CodeCapture records the time the student spent on a function, as well as the class average.
“Not every snapshot will capture code that’s in a healthy state,” says Gulati. “Our biggest challenge was to figure out how to handle broken code and still extract necessary data.”
They conducted a trial study of the tool by arranging for an instructor to assess CodeCapture data for two problems they assigned to a small group of programming students. The instructor could see which students mapped out a solution ahead of time, which achieved their solution with fewer trial-and-error test runs, and which took a more direct logical path.
“For the TA teaching a first-year class with 400 students, a tool like this would be extremely useful,” says Higgy. “And the students in our trial said the assignment feedback was more valuable than what typically received on programming assignments.”
A neural implant can have many applications: for example, recording abnormal brain activity for research, or stimulating the brain to counteract effects of epilepsy or Parkinson’s. Such implantable medical devices (IMDs) require patients to transfer data and recharge their device by hooking up to a computer terminal, which is often a cumbersome procedure.
The team of Ashley Hung, Jaden Reimer and Timothy Yeung (all Year 4 ElecE) aimed to improve this infrastructure around IMDs. They developed a portable interface that straps onto the patient’s chest and both wirelessly charges the IMD and uploads its data to the cloud.
“Continuous data collection means you’re constantly running up against finite battery capacity and finite storage capacity,” Reimer says. “That’s why it helps to have an interface that you can strap on without having to constantly go back to an external source to recharge the IMD.”
One of the benefits of the team’s interface is the freedom of mobility it would give patients, which would also help preserve their natural neurological state for the IMD’s data collection.
Another benefit is patient privacy, says Hung.
“The recorded data is transferred over Bluetooth. It could go to a phone or other storage device, but the cloud is more secure,” she says.
The team had to ensure their interface would charge a subcutaneous IMD. They simulated human skin with two-millimetre-thick salami slices, which they placed between the receiving coil and the transmitting coil during charging.
The complete functionality of their portable interface was hard-won.
“We hand-assembled the printed circuit board,” says Yeung. “We had to reflow solder many little components so that they conformed to the board. And the chips have very small pins on them, which can get shorted together during the reflow process. We spent a lot of time debugging the chips.”
The team of Zeshen Wang, Jerry Wang, Jolie Ni and Xinru Li (all Year 4 CompE) built a Texas Hold’em AI, a project that revealed new layers of complexity the further they developed it.
“At the beginning we thought it was a simple task to encode some cards and then compare them,” says Z. Wang.
Unlike chess, where both players have full knowledge of the game state — that is, they can see they entire board at once — Texas Hold’em is an incomplete information game. Each player is dealt two private cards, never revealed during game play, which they use in some combination with five face-up community cards to make their best hand.
“So, you are choosing five cards from the seven-card hand, which means there’s 21 different combinations that you have to evaluate,” says J. Wang.
This rapidly escalates the number of game states and is the reason why so many of the Texas Hold’em solvers in the market are expensive; they demand so much compute power. To model all the game states for a 52-card deck, you would need approximately 650 billion gigabytes, which would require a supercomputer.
The main challenge for the team was to optimize a card abstraction strategy that balanced the AI’s accuracy against memory constraints.
“We managed to produce a reasonably strong player,” says Li. “Not at the level of a professional, but it can go head-to-head with you, for example.”
In addition, they built a graphical interface that made the game easy to interact with, suited for the intended end-user: the recreational or learning player.
“We were inspired to build this game for a friend who recently got interested in Texas Hold’em,” says Ni. “We didn’t want him to lose all his money in casinos!”