Compiler and Algorithm Design

ESOF3251
Closed
Lakehead University
Thunder Bay, Ontario, Canada
Ayman Diyab
Assistant Professor
(3)
4
Timeline
  • October 25, 2022
    Experience start
  • November 19, 2022
    Project Scope Meeting
  • December 7, 2022
    Experience end
Experience
1 projects wanted
Dates set by experience
Preferred companies
Thunder Bay, Ontario, Canada
Any
Any industries
Categories
Software development Databases Hardware
Skills
algorithms parsing automata theory regular expressions search algorithms algorithm design online communication sorting algorithm dynamic programming np hard
Learner goals and capabilities

Looking to elevate your organization, and bring it to the next level? Bring on students from Lakehead University to be your student-consultants, in a project-based experience. Students will work on one main project over the course of the semester, connecting with you as needed with virtual communication tools.

Students in this program focus on major concepts of compiler and algorithm design. Topics include: regular expressions, automata theory, syntactical analyzers, context free grammars and parsers, algorithms complexity, asymptotic analysis, summations, recurrences, intractability and NP-hard problems, sorting algorithms, searching algorithms, dynamic programming and greedy algorithms.

Learners
Undergraduate
Any level
15 learners
Project
40 hours per learner
Learners self-assign
Teams of 2
Expected outcomes and deliverables

Deliverables are negotiable, and will seek to align the needs of the students and the organization.

Some final project deliverables might include:

  1. A 10-15 minute presentation on key findings and recommendations
  2. A detailed report including their research, analysis, insights and recommendations
Project timeline
  • October 25, 2022
    Experience start
  • November 19, 2022
    Project Scope Meeting
  • December 7, 2022
    Experience end
Project Examples

Students in groups of 3-5 will work with your company to identify your needs and provide actionable recommendations, based on their in-depth research and analysis.

Project activities that students can complete may include, but are not limited to:

  • Demonstrate a good understanding of the fundamental of parsing theory (regular expressions, deterministic finite automata, grammars, and grammar transformation techniques).
  • Algorithm complexity theory and the ability to carry out simple asymptotic analysis of algorithms, Polynomial/Non-Polynomial time/space complexity, tractable/intractable algorithms
  • Discuss the design of a compiler including its phases and components.
  • Design, implement and test a simple compiler (scanner, parser and code generator).
  • The use of front-end and back-end CASE tools.
  • The use of software development platforms.
  • Ability to develop and present a technical presentation with good use of audio-visual aids and clear logical language.
  • Ability to keeps the audience engaged throughout the presentation and to answer questions with confidence.
Companies must answer the following questions to submit a match request to this experience:

A representative of the company will be available to answer questions from students in a timely manner for the duration of the project.

A representative of the company will be available for a pre-selection discussion with the administrator of the course to review the project scope.