Software Engineering Data Science Empirical Evidence Visualization
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
Since 1993, his research interests have been in Software and Systems Engineering.
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.
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.Winter Term 2021
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.Fall Term 2020