Asee peer logo

Teaching Theoretical Computer Science and Mathematical Techniques to Diverse Undergraduate Student Populations

Download Paper |


2018 ASEE Annual Conference & Exposition


Salt Lake City, Utah

Publication Date

June 23, 2018

Start Date

June 23, 2018

End Date

July 27, 2018

Conference Session

Computing Technology Applications-I

Tagged Division

Computing and Information Technology

Page Count




Permanent URL

Download Count


Request a correction

Paper Authors


Predrag T. Tosic University of Idaho

visit author page

Predrag Tosic is an early mid-career researcher with a unique mix of academic research, industrial and DOE lab R&D experiences. His research interests include AI, data science, machine learning, intelligent agents and multi-agent systems, cyber-physical/cyber-secure systems, distributed coordination and control, large-scale complex networks, internet-of-things/agents, and mathematical and computational models and algorithms for "smart" transportation, energy and other grids. He is interested in applying data analytics, machine learning, intelligent agent and AI techniques to emerging problems related to large-scale decentralized cyber-physical systems, critical infrastructures and “smart grids”, autonomous vehicles, as well as energy, health care and other domains of major economic and societal impact.

Dr. Tosic holds a doctorate in Computer Science from the University of Illinois at Urbana-Champaign. His doctoral dissertation (2006) was on Distributed AI and large-scale Multi-Agent Systems. Most recently, at Washington State University (2015 - 2017), Dr. Tosic worked on dynamics of large-scale networks, graph pattern mining, Boolean Network models of cyber-physical systems, Internet-of-Agents, as well as AI, data analytics and knowledge engineering applied to problems in health care. While at the University of Houston (2009 – 2012), he did research in machine learning, multi-agent distributed computing and control, data mining and distributed database systems, emerging behavior in complex networks, “smart energy” and computational game theory. During his graduate studies and combined five years of non-tenure-track academic research, he has authored over 70 peer-reviewed publications. He has a versatile R&D experience spanning three different high-tech industries, with both big companies (Cisco Systems and Microsoft) and high-tech startups, as well as with a leading government research lab (Los Alamos National Laboratory). He holds three USPTO patents (IP of Cisco Systems).

In addition to a doctorate in Computer Science, Predrag Tosic holds three master's degrees, two in mathematical sciences and one in CS. Tosic has a considerable teaching and student research mentoring experience. He has enjoyed working with students of a broad variety of ethnic, cultural and socio-economic backgrounds and at different types of academic institutions. He has been actively involved with IEEE – the Palouse Section and is currently President of the Section's Computer Society. He is also an active member of ACM, ASEE and AMS.

visit author page


Julie Beeston University of Idaho

visit author page

Dr. Julie Beeston has both a Master’s degree (from Carleton University) and a PhD (from the University of Victoria) in Computer Science, and she has developed and taught over a dozen courses at the university level. Beyond her teaching experience, she also has over a decade of industry experience as a software developer.

In industry, she has a history of solving ‘unsolvable’ problems. She enjoys a great deal of personal satisfaction when her analytical and problem solving skills can be applied to solve complex technical problems and when she can find creative new ways to pass the things she has learned on to the next generation.

Her first teaching experience was at Ozanam Sheltered Workshop teaching adults with mental and physical disabilities. The experience gave her the opportunity to try unique teaching methods and taught her how to tailor her teaching style to a specific person’s needs. That experience taught her that given enough time any student can master any concept. There is no limiting factor on an enthusiastic student’s ability to learn.

Her primary mission in teaching is to get the students enthusiastic about the subject. She does this by giving real-world examples of how the subject matter she is currently teaching has helped her resolve complex problems in industry.

visit author page

Download Paper |


We share our experience and insights gained from teaching foundations of computer science courses to diverse groups of undergraduate (and at times, also graduate) students coming from a broad variety of educational and social backgrounds. Among all required courses of contemporary Computer Science (CS) curricula across the US and Canadian universities, at most institutions (except for the very top research universities), theoretical computer science courses tend to be among the least popular. The reasons behind these prevalent attitudes among CS college students (esp. the undergraduates) tend to fall into two categories: i) theoretical CS courses are "all math" requiring proofs and rigorous formal reasoning that many CS and other engineering students aren't (yet) comfortable with; and ii) "why do we need all this theory anyway" if our career goal is to become software engineers, develop the next cool mobile app, and similar. Yet, most research universities, as well as quite a few non-research colleges, require at least 1-2 semesters of core undergraduate coursework in theoretical or foundational CS.

In this paper, we summarize some interesting lessons learned from teaching theoretical CS to mostly undergraduate juniors (as well as a few non-traditional students) at two prominent public research universities in the US Pacific Northwest. While our own academic background is from a top research PhD-granting Computer Science program in the US, we have spent several years in high-tech industry prior to recently returning to the academic world as a Computer Science faculty. Therefore, when teaching various CS courses, we try to relate concepts and techniques covered to the "real-world" applications and problems, and in particular the recent and current technology challenges and R&D done in industry. We've applied this general philosophy to virtually all courses we have taught, including the very theoretical ones. The goal is to get CS and other Engineering students intrigued by how, for example, finite automata or context-free grammars are used in compilers and interpreters (parsing, lexical analysis), or the formal specification of programming languages -- as well as to the more recently emerged technologies, such as computational/applied Natural Language Processing (NLP). Without sacrificing rigor, we try to present highly mathematical content in a manner that relates theoretical models and proofs of their properties to practical challenges in computer science and engineering.

Some additional challenges we have encountered while teaching Theory of Computing courses stem from very diverse educational backgrounds of the students we have encountered: from graduate students overcoming true or perceived deficiencies in CS foundations, to undergraduates transferring from local community colleges, many of whom have not been asked to thoroughly understand a mathematical proof of any kind, let alone write one out on their own. This mix of students provides unique challenges, but also opportunities -- for example, to revisit teaching methodologies for the "mathematical side of computer science" curricula, how to best relate theory to practice (esp. in terms of technologies and applications these diverse students can most readily relate to), and how to best get students of broadly varying backgrounds actively engage in class discussions.

Tosic, P. T., & Beeston, J. (2018, June), Teaching Theoretical Computer Science and Mathematical Techniques to Diverse Undergraduate Student Populations Paper presented at 2018 ASEE Annual Conference & Exposition , Salt Lake City, Utah. 10.18260/1-2--31064

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2018 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015