Skip to content

Latest commit

 

History

History
495 lines (384 loc) · 24.9 KB

cmpsc-600-fall-syllabus.md

File metadata and controls

495 lines (384 loc) · 24.9 KB

CMPSC/INFM 600: Fall Semester of Two-Semester Senior Thesis Research in Computer Science and Informatics

Fall 2023

Outline

Introduction

Your senior thesis process provides you the opportunity to pursue independent research in Computer and Information Science. This course parallels the kinds of intense inquiry and research inherent to both academic life and a career in the field of Computer and Information Science. To that end, you will work closely with your readers to explore rich, ever-complex, projects. Though the faculty cannot promise that this work will be frustration- or challenge-free, we invite you to pursue it with great enthusiasm, vigor, and to -- above all -- find joy in the process.

Course Description

CMPSC 600 - Senior Thesis I

Independent research in computer science culminating in the development of prototype or early draft of a computational artifact. Must be taken on the letter-grade basis. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.

  • Prerequisite: CMPSC 580
  • Distribution Requirements: None

INFM 600 - Senior Project I

Independent research in informatics culminating in the development of a prototype or early draft of a computational artifact. Must be taken on the letter-grade basis. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.

Prerequisite: CMPSC 580 or other approved junior seminar and permission of the instructor.

Distribution Requirements: none.

Course Instructors

The instructor with the ** symbol after their name is the course coordinator who is responsible for orchestrating all aspects of the CMPSC 600 course. If you have any high-level questions about this course, please contact both the course coordinator and your first reader(s). Finally, if you are enrolled in DOUBL 600 you may have a first reader who is not in the above list of course instructors.

Course Schedule

High-Level Overview

  • Week One (29 August - 1 September) through Week Seven (9 October - 13 October): Project idea creation, and implementation and documentation of the project artifact prototype.

  • 13 October at 11:59 PM: Submit the final version as a working project artifact prototype.

  • Week Eight (16 October - 20 October) through Week Fourteen (27 November - 1 December): Oral defense of senior theses project proposals.

  • Week Fifteen (4 December - 8 December) through Week Seventeen (18 December - 19 December): Writing and finalizing two chapters of a senior thesis document.

  • 19 December 5 at 11:59 PM: Submit the final version of two chapters of your senior thesis as a tagged release in the document's GitHub repository.

Detailed Description

  • Week One: 29 August - 1 September: Confirm correct registration for the course. Brainstorm project ideas with first reader and your research group.

  • Week Two: 4 September - 8 September: Pitch your project idea to your research group.

  • Week Three: 11 September - 15 September: Set up your GitHub repositories, start building your computational artifact.

  • Week Four: 18 September - 22 September: Continue to set up your project and work on creation of computational artifact.

  • Week Five: 25 September - 29 September: Continue to set up your project and work on creation of computational artifact.

  • Week Six: 2 October - 6 October: Demonstrate project feasibility.

  • Week Seven: 9 October - 13 October: Complete project set up and artifact prototype creation.

  • Week Eight: 16 October - 20 October: Prepare for your project's pitch presentation.

  • Week Nine: 23 October - 27 October: Pitch presentations.

  • Week Ten: 30 October - 3 November: Pitch presentations. If applicable, submit completed IRB proposal to first reader by 1st November.

  • Week Eleven: 6 November - 10 November: Pitch presentations.

  • Week Twelve: 13 November - 17 November: Pitch presentations.

  • Week Thirteen: 20 November - 24 November: No class this week.

  • Week Fourteen: 27 November - 1 December: Pitch presentations.

  • Week Fifteen: 4 December - 8 December: Write a completed draft of first chapter. Receive feedback.

  • Week Sixteen: 11 December - 15 December: Incorporate feedback and finalize the first chapter of your senior thesis. Write a draft of a second chapter of your senior thesis and receive feedback.

  • Week Seventeen: 18 December - 19 December: Incorporate feedback and finalize the second chapter of your senior thesis.

  • Final Draft Thesis Due: 19 December: Submit through a tagged release in GitHub of two final drafts of the chapters of your undergraduate senior thesis.

Presentation Schedule

The URL link for the pitch and artifact demonstrations is here.

Assessment Strategy

General Learning Outcomes

By the end of this course, you will develop skills to:

  • Develop a viable and appropriate proposal for an independent and open-source research project.
  • Describe a research process, its methods, and outcomes in writing in the form of an incremental research notebook, a formal thesis proposal document, and two chapters of a formal thesis document.
  • Present and communicate complex ideas in a variety of media through both informal discussions, peer reviews and formal presentations.
  • Produce and document a working prototype of an artifact.
  • Evaluate the produced prototype and reflect on theoretical, practical, ethical and social impact of the proposed artifact.

Computer Science Learning Outcomes

In addition to general learning outcomes, students enrolled in CMPSC 600 will also produce:

  • An original project that includes integration of theory and practice or software and hardware.

Informatics Learning Outcomes

In addition to general learning outcomes, students enrolled in INFM 600 will also produce:

  • An original project that integrates multiple disciplines and provides critical engagement of impact of technology on various communities.

Software Engineering Learning Outcomes

In addition to general learning outcomes, students enrolled in SE 600 will also produce:

  • An original software project that is working, well-tested, and deployed to production. The completed hardware or software project is working, tested and error-free.

Assessment Categories

For the purposes of evaluation, this course is separated into both "primary" and "secondary" requirements, as explained in the following table.

Deliverable Primary/secondary requirement
Research Notebook (online resource) Secondary
Class Participation Secondary
Process Commitment Secondary
Proposal Pitch Primary
Thesis Chapters Primary
Computational Artifact Primary

To pass CMPSC/INFM 600, submission of and participation in all of the primary requirements is mandatory. In addition to an overall evaluation of each category, a student's work in CMPSC 600 and INFM 600 will be evaluated according to each of the following baseline requirements. Students who are enrolled in DOUBL 600 are also required to write a course contract that describes the deliverables and the deadlines by which they will complete them for both CMPSC 600 and the course for their additional major. Importantly, students in DOUBL 600 must complete all of the requirements for both CMPSC/INFM 600 and the 600 course connected to their other major. Students who enroll in DOUBL 600 should submit their course contract to both of their first readers and the CMPSC/INFM 600 course coordinator.

Deliverable Descriptions

  • Research Notebook

    • The student created a GitHub discussion notebook to record details about their meetings with the first reader and additional research notes
    • The research notebook contains evidence of numerous dated entries for research meetings and additional notes
    • The contents of the research notebook have regular dated entries of research notes throughout the fall semester
    • The contents of the research notebook have a clear connection to the research project
    • The contents of the research notebook give evidence of regular progress on the research project
  • Class Participation

    • The student regularly attended the weekly class sessions
    • The student actively participated in the weekly in-person class discussions
    • The student actively participated in the online discussions in Discord
  • Process Commitment

    • The student frequently completed activities on time according to the course schedule
    • The student asked and/or answered questions from their peers
    • The student actively participated in the peer review process
    • The student demonstrated growth in their knowledge of their research topic
    • The student demonstrated growth in their ability to conduct research in Computer and Information Science
    • The student suggested ways in which to improve and/or gave feedback on the course's research process
  • Project Pitch

    • The student submitted the final version of their slides and demonstration video by 22nd October
    • The student gave the project pitch on the assigned date
    • The project pitch featured effective and well-designed slides
    • The project pitch has an accessible overview of the proposed project
    • The project pitch contained an effective tool demonstration
    • The project pitch gave a clear project motivation
    • The project pitch gave evidence of project feasibility
    • The student completed the project pitch and demonstration within the seven-minute time limit
    • The student completed the question and answer session within the five-minute time limit
  • General Thesis Requirements

    • The abstract provides a concise and compelling summary of the research
    • The thesis was submitted on time as a PDF in a tagged release on GitHub
    • The GitHub repository of the thesis contains evidence of many commits
    • The GitHub repository of the thesis contains multiple releases using the Semantic Versioning Standard
      • The GitHub repository of the thesis has a passing build status in GitHub Actions
    • In adherence to the Semantic Versioning Standard, the GitHub repository of the thesis contains a release greater than 1.0.0 for the work in CMPSC/INFM 600 and a release greater than 2.0.0 for CMPSC/INFM 610
    • The thesis has the correct format created through the use of Pandoc and LaTeX and the senior thesis template for the Department of Computer and Information Science
    • The title of the thesis is both interesting and appropriate
    • The thesis includes at least twelve references
    • Unless there is a convincing reason to require otherwise, each chapter in the senior thesis should contain at least ten to twenty pages of contents formatted in the required style
    • The thesis consists of at least 7500 words
    • The thesis follows a logical flow at the level of chapters, sections, subsections, and individual paragraphs
    • The thesis includes appropriate visual aids, which fall under the broad categories of:
    • image
    • figure
    • table
    • graph
    • The thesis highlights and explains the societal impacts and ethical implications of the completed research
    • There are no typographical or grammatical errors in the thesis
    • There is no extraneous text in the thesis

Students are required to write two chapters of their thesis document. These chapters can include any two of the following:

  • Introduction Section Requirements

    • The introduction section clearly describes the completed work
    • The introduction section motivates the completed work from a professional perspective
    • The introduction section outlines the ethical implications of the thesis
  • Related Work Section Requirements

    • The related work section references and describes relevant literature
    • The related work section explains how relevant literature connects to the thesis
    • The related work section does not provide a "laundry list" of the related literature
    • The related work section situates the completed project in the broader scope
  • Method Section Requirements

    • The method section explains the process utilized in the completed study
    • The method section addresses as many of the necessary methodology used in the research project. For example, the following may be relevant to the project:
    • description of algorithms
    • programming languages
    • libraries
    • platforms
    • software tools
    • hardware
    • The method section references the GitHub repository that contains the project's artifact(s)
    • The method section, when appropriate, explains how to run the computational artifact (note that the README.md file of the GitHub repository that contains the computational artifact(s) should furnish complete details about the input, output, behavior, and use of the project as necessary)
  • Computational Artifact

    • The artifact's source code exists in a publicly available GitHub repository
    • The artifact's GitHub repository contains documentation on how to install and use it
    • The README file in the GitHub repository clearly describes the project, its motivation and goals, situates it in context of related work, provides technical details, and future directions
    • It is possible for an individual who is not the creator of the GitHub repository to install and use the computational artifact
    • The artifact's GitHub repository contains sufficient evidence of best practices for software development (e.g., test suites, linters, and the setup of continuous integration in GitHub Actions)
    • The GitHub repository features deliverables that have a clear connection to the research project
    • The GitHub repository gives clear evidence of project feasibility
    • The GitHub repository contains evidence of regular commits through the fall semester

Institutional Review Board (IRB) Proposals

Should a project require Institutional Review Board (IRB) approval for use of human subjects in the research project, the proposing student is responsible for writing and having an approved IRB proposal before conducting any of the experimentation associated with their undergraduate research. Students must submit their IRB proposal to their First Reader before the 1st of November 2023 who will review it and provide feedback on it before submitting it to the IRB. In accordance with Allegheny College policies, students may not submit their IRB proposal directly to the IRB and may not start working on any of their experiments before receiving IRB approval.

Additional Details

  • Students must upload a PDF of their senior thesis presentation slides to the #general channel in the Ready, Set, Research! Discord server no later than one week before the end of class on the day on which they are scheduled to give their presentation.
  • A project pitch includes the following components with the stated time limits
    • Project pitch presentation: 5 minutes
    • Question and answer session: 2 minutes
    • Demonstration of computation artifact: 1 minute
  • Presenting students must strictly adhere to the stated time limits.
  • All students are required to attend and participate as audience members in all of the project pitches.
  • Since project pitches will take place in both Alden 101 and Alden 109, approximately half of the students should attend defenses in one room and half should do the same in the other room.
  • Faculty members may need to move from Alden 101 to Alden 109.
  • Students must submit the first two chapters of their senior thesis document. The thesis chapters are only required to adhere to those requirements that might be reasonably completed during CMPSC/INFM 600. For instance, students are not required to have a senior thesis document that meets the overall word count requirement until they have completed CMPSC/INFM 610. Students who have questions about the assessment requirements for CMPSC/INFM 600 are encouraged to contact their first reader and the CMPSC/INFM 600 course coordinator.

Required Materials

Course Textbooks

There are no required textbooks for this course. However, the faculty recommend investing in the following texts for both academic and professional development:

Title Author ISBN/ASIN
On Being a Scientist (3rd ed.) National Academy of Sciences, National Academy of Engineering, and Institute of Medicine 978-0309119702
BUGS in Writing: A Guide to Debugging your Prose Lyn Dupre 978-0201379211
Writing for Computer Science (3rd ed.) Justin Zobel 978-1852338022
Published Thomas Deetjen B085MQN3Q8

Course Platforms

This course relies heavily on the above GitHub organization and Discord server. Your work will be assigned and evaluated on and crucial communication distributed through these two platforms. You are expected to register for and remain active on these platforms throughout the academic year.

Course Repositories

You are responsible for accepting and maintaining GitHub repositories for each of the assigned course projects. Repositories include completion- and submission-specific instructions via README files. Many of these operations feature using GitHub's tagging mechanism to release PDFs of your proposal with versions that adhere to the course's semantic versioning standard.

Course instructors will only grade and provide feedback on projects that are stored in and properly released through GitHub.

Course Policies

Course Attendance

It is mandatory for all students to attend the course sessions. If, due to extenuating circumstances, you will not be able to attend a session, then, whenever possible, please communicate with the course coordinator at least one week in advance to describe your situation. Students who have any signs of illness should not attend any in-person course sessions.

Email Policy

Despite the fact that the majority of our communication relies on the Ready, Set, Research! Discord Server and other platforms such as the ReadyResearchers Organization on GitHub, the faculty may occasionally use email to communicate significant information. As with other the other platforms used by this course, it is your responsibility to be accountable for email communication.

Syllabus Revision

The faculty of the Department of Computer and Information Science reserve the right to make changes to this syllabus document. Should a change occur, they may be discussed with the members of the course community. Minor revisions to wording that do not impact course events or deliverables may be made without notice. Any change which impacts dates or significant changes in student responsibility will be communicated -- in writing -- at least one week in advance of the due date of the deliverable affected.

Honor Code

All students and faculty at Allegheny College are bound by the Honor Code. Everyone expects that your behavior reflects this commitment. Given the eminently shareable and reproducible nature of code, the Department of Computer and Information Science adds the following statement to the general college policy:

It is recognized that an important part of the learning process in any course, and particularly in computing, derives from thoughtful discussions with teachers, student assistants, and fellow students. Such dialogue is encouraged. However, it is necessary to distinguish carefully between the student who discusses the principles underlying a problem with others, and the student who produces assignments that are identical to, or merely variations on, someone else’s work. It will therefore be understood that all assignments submitted to faculty of the Department of Computer and Information Science are to be the original work of the student submitting the assignment, and should be signed in accordance with the provisions of the Honor Code. Appropriate action will be taken when assignments give evidence that they were derived from the work of others.

As the nature of "plagiarism" and constituents of "fair use" change often, the department encourages you to periodically review the specific tenets of the general college Honor Code provided in the latest course catalog and in the Compass.

The above statement, of course, also applies to online forums such as Stack Overflow or text generation systems such as ChatGPT.

Classroom Ethics

The discipline of Computer and Information Science, like many others, encourages its members to act according to discipline-specific ethics. The faculty encourage you to take time to review the Association for Computing Machinery (ACM) Code of Ethics.

Seeking Assistance

Course Assistance

Students who struggle to understand the knowledge and skills introduced in this course are encouraged to seek assistance from their first and second readers. To meet with your first and second readers, please visit their web site. Historically, students who are successful in department courses visit and discuss course processes and assignments early and often.

Outside Assistance

If you find yourself in difficult circumstances which affect your ability to participate in or complete course work, let us know immediately -- full stop.

Do not wait until the end of the semester.

Part of our role as course instructors is to make sure that students receive the assistance they need. Do not hesitate to let us know if there is anything we can do with respect to your ability to handle your work. This is especially true of our current circumstances of the on-going global pandemic. Again, let us remind and encourage you -- it is part of our job to help you access Allegheny College resources that will enable your safety and success.

In many situations, the following list of resources may prove useful:

Special Needs

Students with disabilities who need accommodations in this course are encouraged to contact Disability Services at +1 814-332-2898. Disability Services is part of the Learning Commons, located in Pelletier Library. Should you need accommodations, contact this office as soon as possible to ensure that approved accommodations are communicated and implemented as quickly as possible. This serves everyone involved in providing the best environment for learning and support.