CS 280 : Topics & Learning Outcomes

Topics and Learning Outcomes for this course are based on ACM/IEEE Curriculum Guidelines for Undergraduate Degree Programs in Computer Science (2013). This document associates one of three levels of mastery with each Learning Outcome. The mastery levels are defined as:

This course touches on Human Computer Interaction (HCI) and Social and Professional Issues (SP), with the following knowledge areas (click on one to jump to details): HCI/Foundations, HCI/Designing Interaction, SP/Social Context, SP/Analytical Tools, SP/Professional Ethics, SP/Intellectual Property, SP/Privacy and Civil Liberties, SP/Professional Communication, and SP/Sustainability.

HCI/Foundations

Topics

  • Contexts for HCI (anything with a user interface, e.g., webpage, business applications, mobile applications, and games)
  • Processes for user-centred development, e.g., early focus on users, empirical testing, iterative design
  • Different measures for evaluation, e.g., utility, efficiency, learnability, user satisfaction
  • Usability heuristics and the principles of usability testing
  • Physical capabilities that inform interaction design, e.g., colour perception, ergonomics
  • Cognitive models that inform interaction design, e.g., attention, perception and recognition, movement, and memory; gulfs of expectation and execution
  • Social models that inform interaction design, e.g., culture, communication, networks and organizations
  • Principles of good design and good designers; engineering tradeoffs
  • Accessibility, e.g., interfaces for differently-abled populations (e.g., blind, motion-impaired)
  • Interfaces for differently-aged population groups (e.g., children, 80+)

Learning Outcomes

  • Discuss why human-centred software development is important. [Familiarity]
  • Summarize the basic precepts of psychological and social interaction. [Familiarity]
  • Develop and use a conceptual vocabulary for analyzing human interaction with software: affordance, conceptual model, feedback, and so forth. [Usage]
  • Define a user-centred design process that explicitly takes account of the fact that the user is not like the developer or their acquaintances. [Usage]
  • Create and conduct a simple usability test for an existing software application. [Assessment]

HCI/Designing Interaction

Topics

  • Elements of visual design (layout, colour, fonts, labeling)
  • Task analysis, including qualitative aspects of generating task analytic models
  • Low-fidelity (paper) prototyping
  • Quantitative evaluation techniques, e.g., keystroke-level evaluation
  • User interface standards

Learning Outcomes

  • For an identified user group, undertake and document an analysis of their needs. [Assessment]
  • Conduct a quantitative evaluation and discuss/report the results. [Usage]
  • Discuss at least one national or international user interface design standard. [Familiarity]

SP/Social Context

Topics

  • Social implications of computing in a networked world
  • Impact of social media on individualism, collectivism and culture
  • Growth and control of the Internet
  • Often referred to as the digital divide, differences in access to digital technology resources and its resulting ramifications for gender, class, ethnicity, geography, and/or underdeveloped countries
  • Accessibility issues, including legal requirements
  • Context-aware computing

Learning Outcomes

  • Describe positive and negative ways in which computer technology (networks, mobile computing, cloud computing) alters modes of social interaction at the personal level. [Familiarity]
  • Identify developers’ assumptions and values embedded in hardware and software design, especially as they pertain to usability for diverse populations including under-represented populations and the disabled. [Familiarity]
  • Interpret the social context of a given design and its implementation. [Familiarity]
  • Evaluate the efficacy of a given design and implementation using empirical data. [Assessment]
  • Summarize the implications of social media on individualism versus collectivism and culture. [Usage]
  • Discuss how Internet access serves as a liberating force for people living under oppressive forms of government; explain how limits on Internet access are used as tools of political and social repression. [Familiarity]
  • Analyze the pros and cons of reliance on computing in the implementation of democracy (e.g. delivery of social services, electronic voting). [Assessment]
  • Describe the impact of the under-representation of diverse populations in the computing profession (e.g., industry culture, product diversity). [Familiarity]
  • Explain the implications of context awareness in ubiquitous computing systems. [Familiarity]

SP/Analytical Tools

Topics

  • Ethical argumentation
  • Ethical theories and decision-making
  • Moral assumptions and values

Learning Outcomes

  • Evaluate stakeholder positions in a given situation. [Assessment]
  • Analyze basic logical fallacies in an argument. [Assessment]
  • Analyze an argument to identify premises and conclusion. [Assessment]
  • Illustrate the use of example and analogy in ethical argument. [Usage]
  • Evaluate ethical/social tradeoffs in technical decisions. [Assessment]

SP/Professional Ethics

Topics

  • Community values and the laws by which we live
  • The nature of professionalism including care, attention and discipline, fiduciary responsibility, and mentoring
  • Keeping up-to-date as a computing professional in terms of familiarity, tools, skills, legal and professional framework as well as the ability to self-assess and progress in the computing field
  • Professional certification, codes of ethics, conduct, and practice, such as the ACM/IEEE-CS, SE, AITP, IFIP and international societies
  • Accountability, responsibility and liability (e.g. software correctness, reliability and safety, as well as ethical confidentiality of cybersecurity professionals)
  • The role of the computing professional in public policy
  • Maintaining awareness of consequences
  • Ethical dissent and whistle-blowing
  • The relationship between regional culture and ethical dilemmas
  • Dealing with harassment and discrimination
  • Forms of professional credentialing
  • Acceptable use policies for computing in the workplace
  • Ergonomics and healthy computing environments
  • Time to market and cost considerations versus quality professional standards

Learning Outcomes

  • Identify ethical issues that arise in software development and determine how to address them technically and ethically. [Familiarity]
  • Explain the ethical responsibility of ensuring software correctness, reliability and safety. [Familiarity]
  • Describe the mechanisms that typically exist for a professional to keep up-to-date. [Familiarity]
  • Describe the strengths and weaknesses of relevant professional codes as expressions of professionalism and guides to decision-making. [Familiarity]
  • Analyze a global computing issue, observing the role of professionals and government officials in managing this problem. [Assessment]
  • Evaluate the professional codes of ethics from the ACM, the IEEE Computer Society, and other organizations. [Assessment]
  • Describe ways in which professionals may contribute to public policy. [Familiarity]
  • Describe the consequences of inappropriate professional behaviour. [Familiarity]
  • Identify progressive stages in a whistle-blowing incident. [Familiarity]
  • Identify examples of how regional culture interplays with ethical dilemmas. [Familiarity]
  • Investigate forms of harassment and discrimination and avenues of assistance. [Usage]
  • Examine various forms of professional credentialing. [Usage]
  • Explain the relationship between ergonomics in computing environments and people’s health. [Familiarity]
  • Develop a computer usage/acceptable use policy with enforcement measures. [Assessment]
  • Describe issues associated with industries’ push to focus on time to market versus enforcing quality professional standards. [Familiarity]

SP/Intellectual Property

Topics

  • Philosophical foundations of intellectual property
  • Intellectual property rights
  • Intangible digital intellectual property (IDIP)
  • Legal foundations for intellectual property protection
  • Digital rights management
  • Copyrights, patents, trade secrets, trademarks
  • Plagiarism

Learning Outcomes

  • Discuss the philosophical bases of intellectual property. [Familiarity]
  • Discuss the rationale for the legal protection of intellectual property. [Familiarity]
  • Describe legislation aimed at digital copyright infringements. [Familiarity]
  • Critique legislation aimed at digital copyright infringements. [Assessment]
  • Identify contemporary examples of intangible digital intellectual property. [Familiarity]
  • Justify uses of copyrighted materials. [Assessment]
  • Evaluate the ethical issues inherent in various plagiarism detection mechanisms. [Assessment]
  • Interpret the intent and implementation of software licensing. [Familiarity]
  • Discuss the issues involved in securing software patents. [Familiarity]
  • Characterize and contrast the concepts of copyright, patenting and trademarks. [Assessment]

SP/Privacy and Civil Liberties

Topics

  • Philosophical foundations of privacy rights
  • Legal foundations of privacy protection
  • Privacy implications of widespread data collection for transactional databases, data warehouses, surveillance systems, and cloud computing
  • Ramifications of differential privacy
  • Technology-based solutions for privacy protection

Learning Outcomes

  • Discuss the philosophical basis for the legal protection of personal privacy. [Familiarity]
  • Evaluate solutions to privacy threats in transactional databases and data warehouses. [Assessment]
  • Describe the role of data collection in the implementation of pervasive surveillance systems (e.g., RFID, face recognition, toll collection, mobile computing). [Familiarity]
  • Describe the ramifications of differential privacy. [Familiarity]
  • Investigate the impact of technological solutions to privacy problems. [Usage]

SP/Professional Communication

Topics

  • Reading, understanding and summarizing technical material, including source code and documentation
  • Writing effective technical documentation and materials
  • Dynamics of oral, written, and electronic team and group communication
  • Communicating professionally with stakeholders
  • Utilizing collaboration tools

Learning Outcomes

  • Write clear, concise, and accurate technical documents following well-defined standards for format and for including appropriate tables, figures, and references. [Usage]
  • Evaluate written technical documentation to detect problems of various kinds. [Assessment]
  • Develop and deliver a good quality formal presentation. [Assessment]
  • Plan interactions (e.g. virtual, face-to-face, shared documents) with others in which they are able to get their point across, and are also able to listen carefully and appreciate the points of others, even when they disagree, and are able to convey to others what they have heard. [Usage]
  • Describe the strengths and weaknesses of various forms of communication (e.g. virtual, face-to-face, shared documents). [Familiarity]
  • Examine appropriate measures used to communicate with stakeholders involved in a project. [Usage]
  • Compare and contrast various collaboration tools. [Assessment]

SP/Sustainability

Topics

  • Being a sustainable practitioner by taking into consideration cultural and environmental impacts of implementation decisions (e.g. organizational policies, economic viability, and resource consumption).
  • Explore global social and environmental impacts of computer use and disposal (e-waste)
  • Environmental impacts of design choices in specific areas such as algorithms, operating systems, networks, databases, or human-computer interaction

Learning Outcomes

  • Identify ways to be a sustainable practitioner. [Familiarity]
  • Illustrate global social and environmental impacts of computer use and disposal (e-waste). [Usage]
  • Describe the environmental impacts of design choices within the field of computing that relate to algorithm design, operating system design, networking design, database design, etc. [Familiarity]
  • Investigate the social and environmental impacts of new system designs through projects. [Usage]