Site Accessibility Statement
Wilfrid Laurier University Faculty of Science
October 23, 2017
Canadian Excellence

Angèle Hamel


email: Angèle Hamel
phone: 519-884-0710
ext: 2984



I have taught four different courses since I've been at Wilfrid Laurier: CP104, CP114, CP312, CP373, CP460.  In my previous incarnations I've also taught error correcting coding theory, calculus, discrete mathematics, formal methods, and artificial intelligence.

CP104: Introduction to Programming

Calendar description: An introductory course designed to familiarize the student with modern software development techniques. Emphasis on problem-solving and structured program design methodologies. Programming projects are implemented in a widely used high-level language (This course may be ``challenged for credit.'')

CP 114: Data Structures I

Calendar Description: Introduction to analysis of algorithms, data structures, recursion, searching, sorting, linked lists, queues, stacks, trees.

CP 312: Algorithm Design and Analysis I

Calendar Description: Analysis of the best, average, and worst case behaviors of algorithms. Algorithmic strategies: brute force algorithms, greedy algorithms, divide-and-conquer, branch and bound, backtracking. Fundamental computing algorithms: O(n log n) sorting, hash table, binary trees, depth-and breadth-first search of graphs.

CP373: Ethics and Professional Practice in Computer Science

Introduction to ethics, computer reliability and safety, privacy, computer crime, intellectual property, impact of computers on work and society. Assessment includes written assignments and oral presentations.

CP 460: Applied Cryptography

Calendar Description: Algorithms and issues in applied cryptography. Topics include history of cryptography, block ciphers, stream ciphers, public-key encryption, digital signatures, and key management. Also, discussion of current issues in information security.