James Miller
Contact
Professor, Faculty of Engineering - Electrical & Computer Engineering Dept
- jimm@ualberta.ca
- Phone
- (780) 492-5580
- Address
-
11-289 Donadeo Innovation Centre For Engineering
9211 116 StEdmonton ABT6G 2H5
Overview
Area of Study / Keywords
Software Engineering and Intelligent Systems Data Science Empirical Evidence Visualization
About
James Miller received his BSc and PhD degrees in Computer Science from the University of Strathclyde, Scotland. Subsequently, he worked at the United Kingdom’s National Electronic Research Initiative on Pattern Recognition as a Principal Scientist, before returning to the University of Strathclyde to accept a lectureship, and subsequently a senior lectureship in Computer Science. In 2000, he joined the University of Alberta. He is the principal investigator in a number of research projects that investigate software verification, validation and evaluation issues across various domains, including embedded, web-based and ubiquitous environments. He has a very active association with IBM Canada on Data Science. He has published over two hundred refereed journal and conference papers, and sits on the editorial board of the Journal of Information and Software Technology
Research
Research Interests
Since 1993, his research interests have been in Software and Systems Engineering.
Current Research
For information on Dr. Miller's research, please visit the STEAM website.
For recent publications see DBLP — merge various entries under Janes Miller without a middle initial.
Courses
ECE 421 - Exploring Software Development Domains
Advanced programming concepts. Programming language as a vehicle for discussion about programming concepts such as productivity, components and re-use, traditional vs. scripting approaches. Object oriented construction, systems programming, concurrent programming, Graphical User Interface (GUI) programming, distributed programming, and dynamic programming. Prerequisites: ECE 322 or CMPE 320, ECE 325, CMPUT 301 and CMPUT 379. Credit may be obtained in only one of CMPE 410 or ECE 421.
ECE 522 - Software Construction, Verification and Evolution
Construction of software components identified and described in design documents. Translation of a design into an implementation language. Program coding styles. Concepts, methods, processes, and techniques supporting the ability of a software system to change, evolve, and survive. Verification of software ensuring fulfillment of the requirements. Validation of software products at different stages of development: unit testing, integration testing, system testing, performance testing, and acceptance testing.