z-logo
open-access-imgOpen Access
Developing Applied Problem Solving Skills In Computer Engineering Curricula
Author(s) -
Dave Williams
Publication year - 2020
Language(s) - English
Resource type - Conference proceedings
DOI - 10.18260/1-2--13120
Subject(s) - computer science , curriculum , context (archaeology) , session (web analytics) , variety (cybernetics) , process (computing) , sophistication , cryptography , software engineering , multimedia , computer engineering , mathematics education , artificial intelligence , programming language , algorithm , mathematics , world wide web , pedagogy , psychology , paleontology , social science , sociology , biology
First-year computer engineering students are faced with the difficult challenge of developing a number of skills simultaneously. In addition to acquiring a mastery of the basic principles covered in each course, students must also exercise their problem solving muscles in order to successfully apply that material in the proper engineering context. Further, their solution must often be achieved through the use of a programming language or technical software package with a steep initial learning curve. A student working hard to retain subject matter may be severely handicapped by underdeveloped problem-solving skills and the need to learn a seemingly arcane programming language at the same time. A successful instructional technique is presented which introduces complex topics through the use of a series of comprehensible examples of escalating sophistication that are easily implemented using standard computer engineering tools and techniques. As one example, public key cryptography (essential to the fields of computer engineering and security) is highly dependent on the generation of very large prime numbers. The rich topic of primality testing, immediately digestible at the simplest level by every student, is explored using a variety of algorithms in C++. Beginning with the simplest brute-force method, students are led through the process of progressive algorithm development. The speed and efficiency of their algorithms increase along with their understanding of the techniques as well as their command of the programming language. From the easily-implemented first approach, the module culminates with programs several orders of magnitude more efficient than students’ initial solutions. The progressive nature of this module provides students with the satisfaction of accomplishment while permitting them, working primarily in small groups of students with comparable abilities, to proceed at an appropriate pace as their proficiency develops.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom