Nancy Acemian

Lecturer, Concordia University
online: website

Recursive Software Engineering for Tomorrow’s Software Engineers
How can computers and software be used better to teach software engineers? By having software engineers develop adjunct learning and teaching environments for each other to complement conventional in-class learning. Tools such as lecture videos coupled with annotated Power Point slides (Video Streaming/Flash), Java applets illustrating program segments and randomly generated on-line exercises (PHP/MySQL) are some of the learning tools available off the web to students of an Object Oriented Programming course at Concordia. The environment was developed by Concordia SOEN students and continues to be maintained by one of the original student developers. This presentation will describe the project, the development, and the role of Software Engineering in this in-house project.

Bio:
Nancy Acemian teaches programming in the Department of Computer Science and Software Engineering at Concordia University since 2000. Previous to this appointment, she taught Computer Science at Marianopolis College in Montreal for 11 years. She holds a BA of Commerce with a Major in Mathematics from McGill University, Montreal, and an MA in Computer Science from Concordia University where she is also pursuing a PhD in Educational Technology. Her research area is in the visualization of code, to aid students “see” the sequence of programming codes, and to develop better learning outcomes. Another objective is to produce effective learning tools for different learner styles which can be used in class and on-line. Nancy Acemian is also assists the Concordia University Centre for Teaching and Learning Services (CTLS) facilitate workshops and seminars on teaching for faculty and PhD students.

Dr. Peter Forbrig

Rostock University, Germany

Model-Based Development of Advanced User Interfaces: Integration of Audio-visual Interaction and Task Specification
The use of techniques from the fields of visualization, natural language and task modeling provides a new complementary style of human computer interaction, where the computer becomes an intelligent, active and personalized collaborator.

In this talk we present an adaptive, platform independent integration strategy of appropriate state-of-the-art visualization, speech and task modeling techniques with a special focus on interfaces for mobile devices. Different XML-based languages are used for this purpose.

The talk will also address the potential synergy among several interaction technologies and how they can be combined together to build a new generation of human-computer interfaces.

The implemented system is illustrated using an automated maintenance support case study.

Bio:
Dr. Forbrig is a full professor of software engineering at the University of Rostock in Germany. He got his PhD in compiler construction (1980) and his habilitation in software engineering methods (1987). Besides working in industry from 1981 to 1998 he was appointed as a full professor in 1994. His research interests include classical software engineering like UML, design patterns and case tools. Additionally, he is interested in combining task-based development methods with object-oriented once. His research combines human computer interaction with software engineering. Dr. Forbrig published several papers on software engineering and HCI. He published several textbooks in German and he is the author of a German UML book.

Dr. Forbrig is vice chair of IFIP TC 13.2 and was visiting professor at the University of Cottbus (Germany, 1993), University of Linz (Austria, 1997), University of Potchefstroom (South Africa, 2000) and Concordia University Montreal (Canada, 2003).

Dr. Cem Kaner

Professor of Software Engineering, Florida Institute of Technology
online: website

document icon Presentation Slides

Software Testing as a Social Science
Software development groups spend hugely on testing. Some companies (e.g. Microsoft) assign equal numbers of testers and programmers to projects. Despite the large role on real projects, the place of testing in the computer science or software engineering curriculum is usually trivial. Suppose we added more testing and training to SE students. What should we add?

One exciting vision brings testing closer to the programming mainstream. I like this vision. It leads to cleaner code, better test tools, skilled test architects, friendly project team dynamics.

Consider another vision. Imagine a computer program as a communication among people and machines, distributed in space and time. Programming focuses on communication between the person and the machine. What about the person-to-person issues? I like Jerry Weinberg’s definition of quality: Quality is value to some person. Along with the pragmatism (greater quality if and only if higher value), it highlights the subjectivity of quality. Different stakeholders, different values, different quality.
When we search for clues to better and more relevant testing in the needs, preferences, valuation and conflicts among stakeholders, in complaint patterns and market reactions to our previous products and our competitors’, when we use human performance measures as indicators of project status and product quality, when we use intuition or formal tools to find patterns in the overwhelming mass of conflicting information about the products we are testing, we are applying the social sciences, not programming.

Imagine the tester as an investigator, someone who uses psychological/economic/anthropological/forensic tools and insights to expose quality-related information about the product under test. What would her job look like? What would distinguish strong work from weak? What should she study, what might we teach to help her along?

Bio:
Cem Kaner is a Professor of Software Engineering at the Florida Institute of Technology and an attorney focused on the law of software quality. He is senior author of several books, including Testing Computer Software, and of online open courseware at www.testingeducation.org. He undergraduate and doctoral studies were at Brock, McMaster, York and Windsor.

Dr. Ahmed Seffah

Assistant-Professor, Concordia University
online: HCSE

Empirical Studies in Software Engineering: A step closer to Usefulness
Software testing has always been one of the main pillars of software engineering. Testing comes in several flavors, from testing lines of codes and correctness of algorithms, all the way to the correctness and completeness of requirements. In this talk, we focus on testing software with people, namely end users, to make sure the application will meet their needs and will work correctly in its context. Empirical testing can greatly contribute to user acceptance of the software while reducing development time and training costs.

Bio:
Dr. Seffah’s interests are at the intersection of human-computer interaction and software engineering, with an emphasis on human-centered software engineering, empirical studies, theoretical models for quality in use measurement, as well as patterns as a vehicle for capturing and incorporating empirically valid design practices in software engineering practices. He is a co-founder of the Usability and Empirical Studies Lab and the founder and chair of the Human-Centered Software Engineering Research Group at Concordia University.