Currrent and Future Teaching

  • Spring 2017

    HCI 500/PSY 311/ISC 370 - Introduction to HCI

    An introduction to user-centered design is the focus of this course.  It explores the design of computer interfaces that are based on the abilities, limitations, and goals of the users. The principles underlying usable interface design and the basic steps of interactive design will be discussed in this course. (Taken from the SUNY Oswego Course Catalog.)

    CSC 480/HCI 520 - Software Design

    This course extends and integrates design techniques commonly encountered in core Computer Science courses and electives, while also focusing on the engineering challenges of constructing complex software systems that graduates are likely to encounter in practice. (Taken from the SUNY Oswego Course Catalog.)

    CSC 212 - Introduction to Computer Science (Lab)

    The notion of "object" directs the discipline of programming presented in this course. The Java programming language serves as the medium through which key ideas are introduced. The "smaller" issues of message passing and control flow are presented, as are the "larger" issues of abstraction, encapsulation, and hierarchy. Variables and typing, procedures and parameters are discussed. Functionality provided in specific java packages is employed. Standard algorithms are presented. Problem solving strategies are articulated and exploited. (Taken from the SUNY Oswego Course Catalog.)

  • Summer 2017

    CSC 333 - Privacy, Security and Cryptology

    Examination of modern technological advances that are believed to enable private/secure communications and data storage, and the political, economic, legal and philosophical issues engendered by these advances. Other technological threats to privacy and security and our emerging information infrastructure will also be covered. (Taken from the SUNY Oswego Course Catalog.)

    BHI 554 - Information Assurance

    The need for information security policies, standards, and procedures will be studied. This course focuses on the formulation of an effective and implementable security policy. It also acquaints students with many issues involved with privacy and security policies as outlined by various national and international governmental and industrial bodies. Topics include: Trust models, Security policy design and incident response, Security policy monitoring and auditing, Cyber-security, Tools and techniques to defend against, react to, and recover from a cyber-attack, Economics of cybercrime, Security and privacy policies, Compliance, and Legal issues. (Taken from the SUNY Oswego Course Catalog.)

    HCI 511: HCI Methods II - Research and Statistical Methods for HCI

    Building on the knowledge learned in HCI 509 (or PSY 280/290) and in HCI 510, this course covers the process of scientific inquiry, motivating a study, and developing solid hypotheses. The course focuses on post-hoc analysis for parametric methods such as Analysis of Variance (ANOVA), an in-depth evaluation of non-parametric methods, correlation and regression. Course is taught using R and/or SPSS and focuses on lab assignments using HCI data.

Teaching History

  • Fall 2016

    ISC 484/HCI 530/MBA 590 - Software Entrepreneurship

    This course is about entrepreneurship and specifically about starting, growing, managing, leading, and ultimately exiting a new technology-based venture. The course sessions will follow the natural order of starting a new software-related business: choosing your idea and your team, validating that idea with customers, honing your initial pitch, dealing with the legal issues of starting a business, building a great product, deciding among financing strategies, developing a go-to-market and operating plan, and exiting successfully.

    ISC 220/HCI 530 - Information Storage and Retrieval

    Consideration of the basic principles and tools for analysis and retrieval of information in various information systems (both textual and database systems). Topics include analysis and storage of information, retrieval concepts and types of retrieval systems. Topics such as multimedia retrieval and big data/data science concepts are also introduced. (Taken from the SUNY Oswego Course Catalog.)

    CSC 212 - Introduction to Computer Science (Lab)

    The notion of "object" directs the discipline of programming presented in this course. The Java programming language serves as the medium through which key ideas are introduced. The "smaller" issues of message passing and control flow are presented, as are the "larger" issues of abstraction, encapsulation, and hierarchy. Variables and typing, procedures and parameters are discussed. Functionality provided in specific java packages is employed. Standard algorithms are presented. Problem solving strategies are articulated and exploited. (Taken from the SUNY Oswego Course Catalog.)

  • Summer 2016

    Technological Disruption and its Impact on Society

    Taught at the Arctic Summer School at Lapland University (Finland) as part of the Digitialization and ICT Services program, this course examines the disruptive impact of technology on society, on law, on culture, and on ethical behavior. Technology is changing exponentially but the social, legal, and ethical aspects of society change in a slower, more linear manner. This introduces significant disruptions. Using simulations and numerous real-world cases, this course explores the problems technology pushes on companies, the unanticipated problems that result, and how these issues can best be resolved.

    HCI 510: HCI Methods I - Design and Evaluation

    This course provides students with a detailed introduction to the methodologies used in the design and evaluation of human computer interfaces as well as research in HCI. These methodologies permit the evaluation of user needs, comparisons of design alternatives, the evaluation of existing products, and basic research in HCI. (Taken from the SUNY Oswego Course Catalog.)

  • Spring 2016

    HCI 530: Cross Cultural HCI Design 

    An in-depth exploration of the theories and methods necessary for designing HCI interfaces from a cross-cultural perspective.  Topics covered include cross-cultural design guidelines and evaluation from a cultural perspective, the role of language, colors, images and icons in designing products for various groups.  Cross cultural empirical research methods for different groups are also discussed.  Methods on how simplification of product and service design to appeal to specific groups of people are examined. 

    TIE-14206: Cross Cultural Design

    This course, taught at the Tampere University of Technology, investigates the theory and techniques required for designing HCI interfaces from a cross-cultural perspective.  Topics include cross-cultural design guidelines and evaluation from a cultural perspective, the role of language, colors, images and icons in designing products for various groups.  Cross cultural empirical research methods for different groups are also discussed.  Last, the simplification of design of products and services for specific groups of people, (i.e., the elderly, the disabled) are covered.

    TIE-12206: Using Human Computation in UX Design

    This seminar course is taught at the Tampere University of Technology. It introduces PhD students to the theoretical background and issues related to using crowdsourcing in UX studies. The emphasis is carrying out empirical work, i.e., planning the study, implementing it, reporting the results and experiences of using human computation to assist with UX design. Students will work in groups to conduct meaningful research. The findings are to be presented at a seminar on the final day. More information about this course can be found here.

  • Fall 2015

    HCI 530: HCI for Big Data

    The underlying theories of Data Science are addressed in the course.  Additionally, the techniques required for developing meaningful visualizations on large datasets are explored. There are two distinct components to the course: exploring visualizations from an HCI perspective, and the manipulation of large datasets. Therefore, the course will focus on the use of Data Science techniques for HCI visualizations; particularly the use of MapReduce frameworks like Hadoop, coding with the Hive and Pig programming languages, the use of data analysis tools like Tableau and Qlikview, and on programming D3.js for interactive visualizations.

    TIE-12206: Gamification Design

    This seminar course, taught to PhD students at three universities: Tampere University, Oulu University, and Tampere University of Technology as a Fulbright Scholar, introduces the concepts of gamification, engagement, and motivation. The course focuses on the emerging theories and frameworks of gamification and examines how they might best be utilized in design. It covers the mechanics of gamification design, including the benefits, caveats, and risks that designing gamification tasks might involve. More information about this course can be found here.

    Summer 2015

    HCI 510: HCI Methods I - Design and Evaluation

    This course provides students with a detailed introduction to the methodologies used in the design and evaluation of human computer interfaces as well as research in HCI. These methodologies permit the evaluation of user needs, comparisons of design alternatives, the evaluation of existing products, and basic research in HCI. (Taken from the SUNY Oswego Course Catalog.)

    HCI 511: HCI Methods II - Research and Statistical Methods for HCI

    Building on the knowledge learned in HCI 509 (or PSY 280/290) and in HCI 510, this course covers the process of scientific inquiry, motivating a study, and developing solid hypotheses. The course focuses on post-hoc analysis for parametric methods such as Analysis of Variance (ANOVA), an in-depth evaluation of non-parametric methods, correlation and regression. Course is taught using R and/or SPSS and focuses on lab assignments using HCI data.

  • Spring 2015

    HCI 500/PSY 311/ISC 370 - Introduction to HCI

    An introduction to user-centered design is the focus of this course.  It explores the design of computer interfaces that are based on the abilities, limitations, and goals of the users. The principles underlying usable interface design and the basic steps of interactive design will be discussed in this course. (Taken from the SUNY Oswego Course Catalog.)

    HCI 510: HCI Methods I - Design and Evaluation

    This course provides students with a detailed introduction to the methodologies used in the design and evaluation of human computer interfaces as well as research in HCI. These methodologies permit the evaluation of user needs, comparisons of design alternatives, the evaluation of existing products, and basic research in HCI. (Taken from the SUNY Oswego Course Catalog.)

    MBA 511 - Management Information Systems

    Introduction to the concepts, types and characteristics of management information systems and decision support systems. Development of MIS theory. MIS, decision-making and problem solving. MIS within the organization. MIS and information requirements. Planning with MIS. Control with MIS. Design and development of MIS and decision support systems. Emphasis will be placed on microcomputers applications. (Taken from the SUNY Oswego Course Catalog.)

  • Fall 2014

    HCI 505/PSY 407 - Human Factors

    This course will provide an in depth review of the application of psychology to the design, development, and assessment of systems, products and information. Students will be provided with an understanding of human abilities, the user centered design process that accounts for those abilities, and methodologies for assessing usability. Through the review of case studies human factors issues related to human-computer interfaces, control design, workspace design and the needs of special populations (e.g. elderly) will be studied. (Taken from the SUNY Oswego Course Catalog.)

    HCI 531/CSC 490/MBA 590 - Software Entrepreneurship

    This course is about entrepreneurship and specifically about starting, growing, managing, leading, and ultimately exiting a new technology-based venture. The course sessions will follow the natural order of starting a new software-related business: choosing your idea and your team, validating that idea with customers, honing your initial pitch, dealing with the legal issues of starting a business, building a great product, deciding among financing strategies, developing a go-to-market and operating plan, and exiting successfully.

    ISC 220 - Information Storage and Retrieval

    Consideration of the basic principles and tools for analysis and retrieval of information in various information systems (both textual and database systems). Topics include analysis and storage of information, retrieval concepts and types of retrieval systems. (Taken from the SUNY Oswego Course Catalog.)

    CSC 212 - Introduction to Computer Science (Lab)

    The notion of "object" directs the discipline of programming presented in this course. The Java programming language serves as the medium through which key ideas are introduced. The "smaller" issues of message passing and control flow are presented, as are the "larger" issues of abstraction, encapsulation, and hierarchy. Variables and typing, procedures and parameters are discussed. Functionality provided in specific java packages is employed. Standard algorithms are presented. Problem solving strategies are articulated and exploited (Taken from the SUNY Oswego Course Catalog.)

  • Summer 2014

    HCI 510: HCI Methods I - Design and Evaluation

    This course provides students with a detailed introduction to the methodologies used in the design and evaluation of human computer interfaces as well as research in HCI. These methodologies permit the evaluation of user needs, comparisons of design alternatives, the evaluation of existing products, and basic research in HCI. (Taken from the SUNY Oswego Course Catalog.)

  • Spring 2014

    HCI 500/PSY 311/ISC 370 - Introduction to HCI

    An introduction to user-centered design is the focus of this course.  It explores the design of computer interfaces that are based on the abilities, limitations, and goals of the users. The principles underlying usable interface design and the basic steps of interactive design will be discussed in this course. (Taken from the SUNY Oswego Course Catalog.)

    HCI 530 - Introduction to Human Computation

    This graduate seminar course introduces and explores human computation methods, including crowdourcing and games, to accomplish work quickly, inexpensively, and (if designed well) with good quality. Students will serve as project managers to accomplish a task or research goal of their choosing.

    CSC 212 - Introduction to Computer Science (Lab)

    The notion of "object" directs the discipline of programming presented in this course. The Java programming language serves as the medium through which key ideas are introduced. The "smaller" issues of message passing and control flow are presented, as are the "larger" issues of abstraction, encapsulation, and hierarchy. Variables and typing, procedures and parameters are discussed. Functionality provided in specific java packages is employed. Standard algorithms are presented. Problem solving strategies are articulated and exploited. (Taken from the SUNY Oswego Course Catalog.)

  • Fall 2013

    CSC 120/ISC 150 - Introduction to Scripting and Markup Languages

    This course will investigate the syntactic and semantic properties of scripting languages. Attention will be primarily paid to JavaScript, with some comparisons made to other scripting languages. Finally, investigation will be made of the properties and applications of Standard Generalized Markup Languages, (HTML and XML) and the ways in which scripting languages and Java work with them. (Taken from the SUNY Oswego Course Catalog.)

    HCI 510 - HCI Methods I - Design and Evaluation

    This course provides students with a detailed introduction to the methodologies used in the design and evaluation of human computer interfaces as well as research in HCI. These methodologies permit the evaluation of user needs, comparisons of design alternatives, the evaluation of existing products, and basic research in HCI. (Taken from the SUNY Oswego Course Catalog.)

    CSC 212 - Introduction to Computer Science (Lab)

    The notion of "object" directs the discipline of programming presented in this course. The Java programming language serves as the medium through which key ideas are introduced. The "smaller" issues of message passing and control flow are presented, as are the "larger" issues of abstraction, encapsulation, and hierarchy. Variables and typing, procedures and parameters are discussed. Functionality provided in specific java packages is employed. Standard algorithms are presented. Problem solving strategies are articulated and exploited. (Taken from the SUNY Oswego Course Catalog.)