View on GitHub

COMP 491/492

Dickinson College Computer Science Senior Seminar

RD: Readings and Class Discussions

Readings and class discussions are an important part of the senior seminar. They are intended to provide you with exposure to, and the chance to discuss, topics in software engineering (concentrated in 491/fall) and timely computing related unsettled social, legal and ethical issues (concentrated in 492/spring). Our coverage of software engineering topics complements provides exposure to concepts and processes that you should be aware of but that are not covered elsewhere in the curriculum. The coverage of computing related unsettled social, legal and ethical issues provides you with the opportunity to examine multiple perspectives on todays complex issues, form opinions, discuss them and write about them.

This page will provide links to all of the readings for the class discussions. Note that readings will be added as the course progresses but will always appear at least one class meeting prior to the discussion day.

Our readings on Software Engineering topics will be drawn from the book Cooperative Software Development by Amy J. Ko. Additional readings drawn from a variety of sources and will be linked in the schedule below.

Discussions

Discussions provide an opportunity for you to refine your understanding of the topic by listening to others and responding to them, and by expressing your thoughts and hearing others responses to them. We will at times discuss issues that are sensitive, contentious, current and unsettled. Some individuals may have strong opinions or beliefs about these issues, while others may still be shaping their understanding and forming their opinions. The best discussions occur when everyone feels free to raise points, ask questions and try out new ideas. Creating a space where that can happen requires that we approach all discussions with a generous mindset, assuming that everyone is always speaking with the best intentions of exploring ideas and learning. It is acceptable to respectfully challenge a thought, idea or view that is expressed, but personal attacks against the person expressing them will not be tolerated. Any explicitly disrespectful, offensive, or hateful speech is not welcome and will be referred to the Dickinson Bias Education and Response Team (BERT).

Preparation

By 8:00am on the discussion date you must:

  1. Complete the assigned readings.
  2. Prepare a page of handwritten notes to aid your participation in the discussion. Unless otherwise specified, no electronic devices will be permitted during the discussions.
    • If you find class participation challenging, The following resources have some good advice on increasing or improving class participation:
  3. Visit the Teams channel for the topic and:
    1. (491) Formulate and post at least one question about the readings that you would like us to discuss in class. Include in your post a few sentences of explanation about why you would like for the class to discuss that question.
    2. (492) Read the posted discussion question prompts and post a response expressing your thoughts as directed. In addition, post a short paragraph responding to at least one classmate’s post. Your posts should both express your opinions and demonstrate a familiarity with the topic and the assigned readings.
    3. Use positive reaction emojis (e.g. 👍, ❤️ ) to “Vote” for questions (491) or positions (492) posted by your classmates that you think would generate good and useful discussion in class. Up votes only please. I will use your input in this way to select questions or positions that we will focus on during the discussion.

492 Reading Assignments

Discussion Date Reading / Discussion Topic Assigned Readings
T 01/28/25 RD01: SWE Code of Ethics 1. Introduction
2. Full Code
T 02/04/25 RD02: Ethics Case Studies 1. Case Studies
T 02/11/25 RD03: Fair Information Practices 1. Fair Information Practices
2. Activity Scenario
T 02/25/25 RD04: Prep for Susan Miller Visit 1. Susan Miller
2. atis web site
3. atis 2024 overview
T 03/25/25 RD05: Big Tech Antitrust Cases 1. US v. Google
2. US Argument
3. Google Argument
4. Decision
T 04/01/25 RD06: Social Media Content Liability 1. Section 230
2. First Amendment
3. Executive Liability
4. AI Content
T 04/08/25 RD07: Geopolitics and Software 1. Linux xz
2. Not Local Source
3. TikTok Bans
4. Current Status
5. Global Impact

491 Reading Assignments

Discussion Date Reading / Discussion Topic Assigned Readings
T 09/10/24 RD01: SWE/FOSS History 1. SWE History
2. Mysteries of OSS
T 09/17/24 RD02: Organizations & Communities 1. SWE Organizations
2. OSS Communities
3. DEI in OSS
T 09/24/24 RD03: Culture & Communication 1. SWE Communication
2. OSS Communications
(Stop before “Handling Growth”)
F 10/04/24 RD04: Productivity & Quality 1. SWE Productivity
2. SWE Quality
3. OSS Quality
T 10/08/24 RD05: Lunch with Nate Mitchell 1. Nate’s Bio
2. The State of VR
3. Leaving Oculus
4. Mountaintop culture
5. Mountaintop Raises $30M
6. Spectre Divide
T 11/15/24 RD06: Reqs, Specs & Archs 1. SWE Requirements
2. SWE Architecture
3. SWE Specifications
F 11/08/24 RD07: Software Processes 1. The SW Crisis
2. SW Crisis Evidence
3. SWE Process
4. What is Agile
5. Agile Manifesto
6. Agile Principles
F 11/15/24 RD08: Comprehension, V-and-V 1. SWE Comprehension
2. SWE Verification
3. CI/CD
F 11/19/24 RD09: Agile Processes 1. Extreme Programming
2. Scrum
3. Kanban
F 12/06/24 RD10: Test Driven Development 1. Test Driven Development
2. Cannon TDD
3. TDD in Java Demo
F 12/13/24 RD11: Monitoring & Evolution 1. SWE Monitoring
2. SWE Evolution
3. MFBT is Over
4. MFBT XKCD

Grading

A grade for Readings and Discussion will be recorded three times throughout the semester. Each grade will take into account all Reading and Discussion assignments since the prior grade was recorded.

The grade will be determined by averaging scores assigned to three factors Discussion Questions, Preparation, and Engagement. The scores for these factors will be assigned using the general Assignment Score criteria.


Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License All textual materials used in this course are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

GPL V3 or Later All executable code used in this course is licensed under the GNU General Public License Version 3 or later