CS 499+900 in 202010

In the Past:

Topics and Learning Outcomes for the Knowledge Units, within the Knowledge Areas, explored in this course are based on the ACM/IEEE Curriculum Guidelines for Undergraduate Degree Programs in Computer Science (2013) report, a version of which is available in HTML on this website . That report associates one of three levels of mastery with each Learning Outcome. The mastery levels are defined as:

  • Familiarity: The student understands what a concept is or what it means. This level of mastery concerns a basic awareness of a concept as opposed to expecting real facility with its application. It provides an answer to the question “What do you know about this?”
  • Usage: The student is able to use or apply a concept in a concrete way. Using a concept may include, for example, appropriately using a specific concept in a program, using a particular proof technique, or performing a particular analysis. It provides an answer to the question “What do you know how to do?”
  • Assessment: The student is able to consider a concept from multiple viewpoints and/or justify the selection of a particular approach to solve a problem. This level of mastery implies more than using a concept; it involves the ability to select an appropriate approach from understood alternatives. It provides an answer to the question “Why would you do that?”

Topics and Learning Outcomes with:

  • 2 stars ( ★ ★ ) appear in the CS2013 report as Core-Tier1
  • 1 star ( ★ ) appear in the CS2013 report as Core-Tier2
  • 0 stars appear in the CS2013 report as Elective
  • grey text are not covered in this course offering
SP / Professional Communication

Professional communication conveys technical information to various audiences who may have very different goals and needs for that information. Effective professional communication of technical information is rarely an inherited gift, but rather needs to be taught in context throughout the undergraduate curriculum. See cross-referencing with Human-Computer Interaction (HCI) and Software Engineering (SE) Knowledge Areas.

  1. Reading, understanding and summarizing technical material, including source code and documentation ★★
  2. Writing effective technical documentation and materials ★★
  3. Dynamics of oral, written, and electronic team and group communication (cross-reference HCI/Collaboration and Communication/group communication; SE/Project Management/team participation) ★★
  4. Communicating professionally with stakeholders ★★
  5. Utilizing collaboration tools (cross-reference HCI/Collaboration and Communication/online communities; IS/Agents/collaborative agents) ★★
  6. Dealing with cross-cultural environments (cross-reference HCI/User-Centered Design and Testing/crosscultural evaluation) 
  7. Tradeoffs of competing risks in software projects, such as technology, structure/process, quality, people, market and financial (cross-reference SE/Software Project Management/Risk) 
Learning Outcomes
  1. Write clear, concise, and accurate technical documents following well-defined standards for format and for including appropriate tables, figures, and references. [Usage] ★★
  2. Evaluate written technical documentation to detect problems of various kinds. [Assessment] ★★
  3. Develop and deliver a good quality formal presentation. [Assessment] ★★
  4. 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] ★★
  5. Describe the strengths and weaknesses of various forms of communication (e.g. virtual, face-to-face, shared documents). [Familiarity] ★★
  6. Examine appropriate measures used to communicate with stakeholders involved in a project. [Usage] ★★
  7. Compare and contrast various collaboration tools. [Assessment] ★★
  8. Discuss ways to influence performance and results in cross-cultural teams. [Familiarity] 
  9. Examine the tradeoffs and common sources of risk in software projects regarding technology, structure/process, quality, people, market and financial. [Usage] 
  10. Evaluate personal strengths and weaknesses to work remotely as part of a multinational team. [Assessment]