Alexandre Denault – Founder
Veteran software developer and holds a PhD in Computer Science. Avid computer enthusiast (geek) who has been dabbling with technology ever since his Dad brought home an 8086 computer.
Open Source Projects
- 2002 : JCom SDK A Java Communication SDK
2012 : rouge-server A light Massively Multi-player Online (MMO) game server for mobile games.
Journal and Conference Publications
- Triangle-based Obstacle-aware Load Balancing for Massively Multiplayer Games, Alexandre Denault, Cesar Canas, Jörg Kienzle, Bettina Kemme; Network and Systems Support for Games (NetGames), 2011 10th Annual Workshop on; Ottawa, Ontario; Oct, 2011 [pdf]
- The Perils of Using Simulations to Evaluate Massively Multiplayer Online Game Performance, Alexandre Denault, Jörg Kienzle; DIstributed SImulation & Online gaming (DISIO); Torremolinos, Spain; March 15, 2010 [pdf]
- Mammoth: a massively multiplayer game research framework, Jörg Kienzle, Clark Verbrugge, Bettina Kemme, Alexandre Denault, Michael Hawker, Proceedings of the 4th International Conference on Foundations of Digital Games, April 26-30, 2009, Orlando, Florida [pdf]
- Persistence in massively multiplayer online games, Kaiwen Zhang, Bettina Kemme, Alexandre Denault, NetGames ’08: Proceedings of the 7th ACM SIGCOMM Workshop on Network and System Support for Games, October 2008 , Worcester, Massachusetts [pdf]
- Be a Computer Scientist for a Week The McGill .Game Programming Guru. Summer Camp, Alexandre Denault, Jörg Kienzle, Joseph Vybihal, Frontiers in Education Conference, 2008. FIE 2008. 38th Annual, 2008 [pdf]
- Model-based Design of Computer-Controlled Game Character Behavior, Jorg Kienzle, Alexandre Denault and Hans Vangheluwe, ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems, October 2007 [pdf]
- Avoid Common Pitfalls when Programming 2-D Graphics in Java: Lessons Learned from Implementing the Minueto Toolkit, Alexandre Denault and Jorg Kienzle, ACM Crossroads 13.3: Computer Graphics, Spring 2007 [www]
- Student Software Engineering Project Courses Become Fun, Alexandre Denault, Jorg Kienzle, Minueto, FuturePlay 2006: The International Conference on the Future of Game Design and Technology, October 2006 (8 pages) [pdf]
- Model-Based Design of Game AI, Alexandre Denault, Jorg Kienzle and Hans Vangheluwe, 2nd International North-American Conference on Intelligent Games and Simulation, September 2006, p67-71 [pdf]
Technical Reports, Posters and Workshops
- Object-oriented Network Middleware for Massively Multiplayer Online Games, Alexandre Denault, Jörg Kienzle, Carl Dionne and Clark Verbrugge, School of Computer Science, McGill University, December 2008 [pdf]
- Mammoth, the Massively Multiplayer Research Framework, Poster Presentation, presented by J.S. Boulanger and M. Hawker, Jean-Sebastien Boulanger, Alexandre Denault, Adrian Ghizaru, Michael Hawker, Nadeem Khan, Jörg Kienzle, Marc Lanctot, Jonathan Li On Wing and Nicolas Ng Man Sun Cascon 2006, [png]
- The Multi-Platform 2D Graphic API, Alexandre Denault, 1st International North-American Conference on Intelligent Games and Simulation, September 2005
Thesis
- Minueto, an Undergraduate Teaching Development Framework, Alexandre Denault, Master’s Thesis, McGill University, October 2005 [pdf]
- Journey, a Shared Virtual Space Middleware, Alexandre Denault, PhD’s Thesis, McGill University, October 2010 [pdf]
Teaching
Comp-361 : Systems Development Project – Winter 2009
- Course Overview Lecture 1
- Naval Battle! Lecture 2
- Game Design and Tools Lecture 3
- Object Oriented Programming Lecture 4
- Game Programming Lecture 5
- Source Control Lecture 6
- Network Programming Lecture 7
- User Interface Design Lecture 8
- Testing Strategies Lecture 9
Comp-304 : Object-Oriented Design – Winter 2007
- Software Processes – Lecture 1, Lecture 2
- Unit Testing in Python – Lecture 3, Lecture 4
- What does it mean to be Object-Oriented ? – Lecture 5, Lecture 6, Lecture 7
- UML
- What is? – Lecture 8
- Class Diagrams – Lecture 9, Lecture 10
- Interaction Diagrams – Lecture 11, Lecture 12
- Behavior Diagrams – Lecture 13, Lecture 14, Lecture 15
- Quality of Design – Lecture 16, Lecture 17
- Design Patterns
- Singleton – Lecture 21
- Command – Lecture 22
- Adapter – Lecture 23, Lecture 24
- Composite – Lecture 25
- Observer / Template Method – Lecture 26, Lecture 27, Lecture 28
- Visitor – Lecture 29, Lecture 30
- Factory – Lecture 31
- Final Review – Lecture 32
Comp-206 : Introduction to Software Systems – Fall 2006
- Class Introduction, Operating Systems – Lecture 1
- Client/Server, Process/Multi-Threading, File System and Permission – Lecture 2
- Directories, Redirection – Lecture 3, Lecture 4
- Environment, Unix Commands and Processes – Lecture 5
- Introduction to Python, Smtp Demo, TKInter Demo [py] – Lecture 6
- Grep/Regular Expressions, Shell Variables and Test Conditions – Lecture 7
- Shell If/For/While and Example Shell Scripts – Lecture 8
- Introduction to C, C versus Java – Lecture 9
- Basic C Syntax, Errors in C and printf – Lecture 10
- Structures, Enumerations, Pointers and Memory Allocation – Lecture 11
- Midterm info, Review – Lecture 12
- Data structures in C, Midterm review – Lecture 14
- String manipulations, Multiple source files, Preprocessor and Makefile – Lecture 15
- File I/O and Methods of storing data – Lecture 16
- Bugs, Debugging, Tools – Lecture 17
- Defensive Programming and Strategies – Lecture 18
- Fractals, C/Python Integration, C/Python API – Lecture 19, Lecture 20
- Source Control Software, Introduction to SVN – Lecture 21
- HTTP and HTML – Lecture 22, Lecture 23
- Dynamic Websites, Intro to PHP, Useful PHP func – Lecture 24
- Final Class – Lecture 25
Comp-303 : Programming Techniques – Winter 2004
- Course Syllabus, Decomposition and Abstraction – Lecture 1
- OO programming
- Short Introduction to UML, Requirements & Specification – Lecture 4
- Procedural Abstraction, Specification for procs, Partial vs Total procs – Lecture 5
- Data abstraction, Abstract Data Structure, IntSet and Poly – Lecture 6
- Exceptions, Checked vs Unchecked – Lecture 7
- Itteration Abstraction – Lecture 8
- Type Hierachie, Dispatching, Good use of interfaces – Lecture 9
- Polymorphic Abstraction, Sets, Comparators and Adders – Lecture 10
- How to use Threads, Thread vs Runnable, Synchronization – Lecture 11
- TCP/IP client/server application, Java Socket/ServerSocket, Serialization – Lecture 12
- Testing Strategies, Debugging Strategies, Review for Midterm – Lecture 13
- Blackbox testing, Glassbox testing, Debugging strategies – Lecture 14
- Requirements Analysis, Software Lifecycle, Dealing with Errors – Lecture 15
- What is design, Design Reviews, Top-down vs Bottom-Up – Lecture 16
- Design Patterns
- Singleton Pattern – Lecture 17
- Factory Pattern, Abstract Factory Pattern – Lecture 17
- Facade Pattern, Adapter Pattern – Lecture 18
- Flyweight Pattern, Project Submission and Interview – Lecture 19
- Chain of Responsibility Pattern – Lecture 20
- Command Pattern – Lecture 21
- Java Community Process (JCP), Java 1.5 – Lecture 22
- Review for Midterm – Lecture 23
Comp-573 : MicroComputers – Fall 2003
Note that there are very few slides for this course, as this was a project course.
- Course Introduction and COMP-273 review – Lectures
- Programming and Debugging Assembler under Linux – Lectures
- Architecture : Intel I32 x86 – Lectures
- Architecture : SPARC – Lectures
- Architecture : PowerPC – Lectures
- Architecture : Other (ARM and Intel I-64) – Lectures
- Midterm with Solution – Lectures