University of Saskatchewan - Computer Science
Senior Software Development Engineer; AWS Thinkbox
Computer Software
Daniel
Neilson
Winnipeg, Manitoba, Canada
"You cannot teach a man anything, you can only help him find it within himself." -- Galileo Galilei
When I teach I do not seek to simply impart factual knowledge, but to help students understand and develop the mental models required to truly claim the knowledge as their own to be exploited and improved as they see fit. I have been an award winning instructor at the University of Saskatchewan in the Department of Computer Science where I taught introductory programming, algorithms, and software tools as well as advanced computer graphics. During my time at the UofS I received three teaching awards; two of which were student-nominated, and one of those was an institutional award that many great instructors only receive after 10-20 years of teaching.
As a software developer my role is somewhat shifted in that I am both student and teacher. As a teacher I help others understand the systems around them, and challenge them to think about the big picture when making changes. As a student I learn as I teach: I seek to develop a deep understanding of the whole system.
Academic Program Support; Department of Computer Science
* Teaching:
- 100-level introductory C/C++ programming
- 200-level data structures and algorithms, and UNIX and developer tools
- 400-level computer graphics
- 220+ lecture hours; 400+ students
* Supervisor for departmental teaching assistants:
* Recruitment and retention initiatives
* Undergraduate program advising
Staff Software Developer - IBM XL Compiler Optimizer
* Developer on the Toronto Portable Optimizer (aka: "TPO") -- the high level optimizer within the XL compiler for C, C++, and Fortran on zOS and Power. Notable activities include:
- Design and implementation of OpenMP 4.0/4.5 accelerator support for nVidia GPU devices within the XL compiler. Activities include the design of IR for data sharing constructs on target constructs.
- Lead developer responsible for porting TPO to the little-endian Linux for Power platform. Successfully completed the port on schedule.
- Implementation of ELF semantics for object file resolution in link-time optimizer.
- Chairs: TPO Architecture & Quality, Back-End Education.
- Connections coach: Responsible for integrating and training new hires into the TPO group; including both regular hires and co-op/intern students.
- Technical mentor for an Extreme Blue project in Summer 2014. Co-lead of a team consisting of three technical interns and one business intern working on an exploratory prototype and business case for continued development of the prototype.
* Standards committee involvement:
- Representative on SpecHPG subcommittee. Contributing to the development of the Spec ACCEL benchmark suite.
- Representative on OpenMP Accelerator subcommittee.
Software Engineer (LLVM Compiler)
- Developer working on the LLVM-based JIT compiler within the Zing JVM.
- Contributor to upstream LLVM.
- Work-remote position that involved collaborating with team members spread from Siberia to California.
Senior Software Development Engineer
Daniel worked at Amazon Web Services as a Senior Software Development Engineer
Director of Software Architecture
- Design and implement custom software for scheduling and distributing Python compute jobs on a cluster.
- Design and implement a network protocol for remote procedure invocation of Python.
- Improving standards for software quality and development practice.
- Refactoring and re-architecting code base to improve maintainability and understandability.
B.C.Sc. (Hon)
Computing Science and Pure Mathematics
Ph.D.
Computing Science
Focus on Computer Vision. Specifically, algorithms related to stereo vision and three-dimensional reconstruction from images.
M.Sc.
Computing Science
Focus on Computer Graphics. Specifically, algorithms related to ray tracing.
Journal of Microscopy
Journal of Microscopy
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
M.Sc. Thesis: University of Alberta
M.Sc. Thesis: University of Alberta
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
M.Sc. Thesis: University of Alberta
M.Sc. Thesis: University of Alberta
Ars Combinatoria
Ars Combinatoria
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
M.Sc. Thesis: University of Alberta
M.Sc. Thesis: University of Alberta
Ars Combinatoria
Ars Combinatoria
Cubo Mathematica Educational
Cubo Mathematica Educational
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
M.Sc. Thesis: University of Alberta
M.Sc. Thesis: University of Alberta
Ars Combinatoria
Ars Combinatoria
Cubo Mathematica Educational
Cubo Mathematica Educational
Performance Portable Programming Models for Accelerators
Performance Portable Programming Models for Accelerators
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
M.Sc. Thesis: University of Alberta
M.Sc. Thesis: University of Alberta
Ars Combinatoria
Ars Combinatoria
Cubo Mathematica Educational
Cubo Mathematica Educational
Performance Portable Programming Models for Accelerators
Performance Portable Programming Models for Accelerators
Proceedings of Pacific Graphics
Proceedings of Pacific Graphics
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
M.Sc. Thesis: University of Alberta
M.Sc. Thesis: University of Alberta
Ars Combinatoria
Ars Combinatoria
Cubo Mathematica Educational
Cubo Mathematica Educational
Performance Portable Programming Models for Accelerators
Performance Portable Programming Models for Accelerators
Proceedings of Pacific Graphics
Proceedings of Pacific Graphics
Ph.D. Thesis: University of Alberta
Ph.D. Thesis: University of Alberta
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
M.Sc. Thesis: University of Alberta
M.Sc. Thesis: University of Alberta
Ars Combinatoria
Ars Combinatoria
Cubo Mathematica Educational
Cubo Mathematica Educational
Performance Portable Programming Models for Accelerators
Performance Portable Programming Models for Accelerators
Proceedings of Pacific Graphics
Proceedings of Pacific Graphics
Ph.D. Thesis: University of Alberta
Ph.D. Thesis: University of Alberta
IEEE Transactions on Pattern Analysis and Machine Intelligence
IEEE Transactions on Pattern Analysis and Machine Intelligence
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
M.Sc. Thesis: University of Alberta
M.Sc. Thesis: University of Alberta
Ars Combinatoria
Ars Combinatoria
Cubo Mathematica Educational
Cubo Mathematica Educational
Performance Portable Programming Models for Accelerators
Performance Portable Programming Models for Accelerators
Proceedings of Pacific Graphics
Proceedings of Pacific Graphics
Ph.D. Thesis: University of Alberta
Ph.D. Thesis: University of Alberta
IEEE Transactions on Pattern Analysis and Machine Intelligence
IEEE Transactions on Pattern Analysis and Machine Intelligence
Procedings of the Conference on Computer Vision and Pattern Recognition
Procedings of the Conference on Computer Vision and Pattern Recognition
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
M.Sc. Thesis: University of Alberta
M.Sc. Thesis: University of Alberta
Ars Combinatoria
Ars Combinatoria
Cubo Mathematica Educational
Cubo Mathematica Educational
Performance Portable Programming Models for Accelerators
Performance Portable Programming Models for Accelerators
Proceedings of Pacific Graphics
Proceedings of Pacific Graphics
Ph.D. Thesis: University of Alberta
Ph.D. Thesis: University of Alberta
IEEE Transactions on Pattern Analysis and Machine Intelligence
IEEE Transactions on Pattern Analysis and Machine Intelligence
Procedings of the Conference on Computer Vision and Pattern Recognition
Procedings of the Conference on Computer Vision and Pattern Recognition
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
M.Sc. Thesis: University of Alberta
M.Sc. Thesis: University of Alberta
Ars Combinatoria
Ars Combinatoria
Cubo Mathematica Educational
Cubo Mathematica Educational
Performance Portable Programming Models for Accelerators
Performance Portable Programming Models for Accelerators
Proceedings of Pacific Graphics
Proceedings of Pacific Graphics
Ph.D. Thesis: University of Alberta
Ph.D. Thesis: University of Alberta
IEEE Transactions on Pattern Analysis and Machine Intelligence
IEEE Transactions on Pattern Analysis and Machine Intelligence
Procedings of the Conference on Computer Vision and Pattern Recognition
Procedings of the Conference on Computer Vision and Pattern Recognition
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
M.Sc. Thesis: University of Alberta
M.Sc. Thesis: University of Alberta
Ars Combinatoria
Ars Combinatoria
Cubo Mathematica Educational
Cubo Mathematica Educational
Performance Portable Programming Models for Accelerators
Performance Portable Programming Models for Accelerators
Proceedings of Pacific Graphics
Proceedings of Pacific Graphics
Ph.D. Thesis: University of Alberta
Ph.D. Thesis: University of Alberta
IEEE Transactions on Pattern Analysis and Machine Intelligence
IEEE Transactions on Pattern Analysis and Machine Intelligence
Procedings of the Conference on Computer Vision and Pattern Recognition
Procedings of the Conference on Computer Vision and Pattern Recognition
Journal of Microscopy
Journal of Microscopy
Undergraduate Honors Thesis: University of Manitoba
Undergraduate Honors Thesis: University of Manitoba
M.Sc. Thesis: University of Alberta
M.Sc. Thesis: University of Alberta
Ars Combinatoria
Ars Combinatoria
Cubo Mathematica Educational
Cubo Mathematica Educational
Performance Portable Programming Models for Accelerators
Performance Portable Programming Models for Accelerators
Proceedings of Pacific Graphics
Proceedings of Pacific Graphics
Ph.D. Thesis: University of Alberta
Ph.D. Thesis: University of Alberta
IEEE Transactions on Pattern Analysis and Machine Intelligence
IEEE Transactions on Pattern Analysis and Machine Intelligence
Procedings of the Conference on Computer Vision and Pattern Recognition
Procedings of the Conference on Computer Vision and Pattern Recognition
The following profiles may or may not be the same professor: