View on GitHub

COMP 190

Tools and Techniques for Software Development - Dickinson College

COMP 190 Syllabus

Course Description

An introduction to the Unix command line environment, shell scripting, system administration, debugging tools and version control. Skills developed will be applied in the context of a Humanitarian Free and Open Source Software (HFOSS) project. Case studies of social, legal and ethical issues raised by computing and computing for the greater good will complement the technical skill development.

Prerequisite Knowledge:

This course assumes at least a semester of prior programming experience in a high-level language. The nominal prerequisite is Dickinson COMP 130 - Introduction to computing and at least concurrent enrollment in Dickinson COMP 132 - Principles of Object-Oriented Design.

Course Schedule

Assignment details including due dates and topics are indicated on the Course Home Page:

Textbook

Reading materials for COMP190 will be provided via links on the course schedule or via Moodle.

Learning Goals

Students will:

Community and Inclusivity

All members of this class are equally valued members of our course community. The instructor aims to create an inclusive atmosphere in which we can listen and speak in ways that are respectful of each other and our diversity of heritages, identities, experiences, knowledge and views. All questions will be accepted and treated with kindness. Some topics will push us to develop new ideas and opinions about things we may not have thought about before. The instructor aims to promote a generous atmosphere. One where we listen and speak to understand. One where all are given the benefit of the doubt as they try out new and partially formed thoughts and opinions. One where we respond to and critique statements and ideas, not individuals. If you feel at any time that these ideals are not being met or have ways that our course atmosphere can be improved you are encouraged to reach out to the instructor. In cases where talking with the instructor is not comfortable please contact your advisor, the Department Chair or another trusted College official for guidance.

Communications

All communications outside of in person meetings will occur via Teams or GitHub. Communication in public channels is preferred. However, sensitive conversations should be initiated as a private chat. Please do not send e-mails.

Office Hours

A list of my office hours and availability is provided on my home page (https://users.dickinson.edu/~braught/). If you have conflicts with my regularly scheduled office hours or would like to schedule a separate meeting please message me on Teams. Please do not send e-mails.

Course Components

Readings & Discussions

A short reading on contemporary social/legal/ethical issues in computing will be assigned prior to most class meetings. The class meeting will begin with a class discussion of that reading. You are expected to do the readings in advance and come to class prepared to contribute to the discussion. Note that while everyone is expected to prepare for every discussion, it is not required that everyone contribute to every discussion. However, you are expected to contribute regularly enough to demonstrate you are preparing and engaging with the materials. Students who are failing to demonstrate sufficient engagement or participation will be given updates and suggestions for improvement.

Laptops will be required to be closed during discussions.

To prepare for class discussions you might:

Introductory Presentations

Each class will include a short introductory presentation to the day’s topic by the instructor. This introduction is intended to provide a big picture view of the topic and how it fits into the larger context of the course, software development and open source. They are not intended to provide all of the information that you need to complete the activities.

Homework Activities

Following each introduction, you will complete a collection of activities that guide you through the development of the main ideas, techniques for solving problems and provide practice with the material. These activities will start from the introductory material but will also contain additional videos/readings and guide you through the learning of additional new material that builds on the introductory material. You should expect that the Activities will require 3-4 hours outside of class. This is consistent with Dickinson’s standard that “at least three hours of study accompany each class period”. If you find the activities are taking significantly longer than the expected time, please reach out to your instructor to discuss strategies for reducing the time required.

Homework activities are due before the next class meeting.

Quizzes

After the completion of each Activity there will be a quiz posted to Moodle. These quizzes will generally be short (~10 questions) and will draw on the material from the Introductory Presentation and the Activity. These quizzes are intended to be a review and to help you self-assess what you learned well and where you need to learn a little more. A quiz can be retaken as many times as you like. However, don’t just guess… doing so has no value at all in your learning. Instead, if you find yourself missing questions, review the relevant material, learn a little more and then attempt the quiz again. In doing so, you will not only learn the material, but will learn about how your learn!

Quizzes are due one week after the associated homework activity is due.

Grading

The COMP 190 course is graded as a Credit/No Credit course (see Dickinson’s Academic Policies and Procedures). The points below explain how each component of the course is scored and what is required to receive credit for the course as a whole.

Participation / Attendance / Engagement (PAE)

You will receive a PAE score for each class meeting using the following rubric:

PAE Rubric. 3 points - Highly engaged in class and discussion; Contributing; Asking questions; Participation improved the class for all. 2 points - Engaged in class and discussion; Actively listening; Possibly making contributions or asking questions. 1 point - Present; Possibly not fully or consistently engaged. 0 points - Absent; Actively disengaged (phone/laptop/etc); Possibly distracting to others.

If you know you will be unable to attend a class due to a College recognized religious holiday or other extenuating circumstances please contact your instructor in advance. If if your request is in line with College policy, reasonable and timely we will make accommodations and provide an alternative means of earning a PAE score for the missed class. In the case of illness, please contact me as soon as possible (still preferably before class) and again, if reasonable and timely, we will make accommodations and provide an alternative means of earning a PAE score for the missed class.

If you contact the instructor regarding an absence and the instructor judges that the reason for the absence is valid, you may earn a PAE score of 2 for the missed day by submitting (via Teams or e-mail) a 250-400 word summary of your thoughts on the reading(s) that were assigned for the class discussion that was missed. This summary must be submitted within 1 week of the missed class period, unless otherwise arranged with the instructor.

Homework Activities

You will receive a score on each Homework Activity using the following rubric:

Activity Rubric. 3 points - On time; Complete; Demonstrates a strong understanding and thoughtful engagement; Uses complete sentences; Neat and organized. 2 points - On time or max for a late/resubmission; Complete or nearly complete; Demonstrates a sufficient understanding of the material; Some answers may not fully address the question, be unclear, be insufficiently explained, use incomplete sentences, and/or be messy/disorganized. 1 point - Insufficiently complete; Fails to demonstrate acceptable level of understanding. 0 points - Not submitted or largely incomplete.

A Homework Activity receiving a score of 1 or 0 may be (re)submitted once within 1 week of being returned to the class. An activity (re)submitted within 1 week will be (re)scored and the new score will replace the original. Late or resubmitted activities will receive a maximum score of 2. (Re)submissions more 1 week after an assignment is returned to the class will not be accepted and the original score will remain. Extensions beyond 1 week will only be considered in extenuating circumstances with appropriate documentation. Please see the “Life Happens” section at the bottom of this document.

Quizzes

You will receive a score on each Quiz using the following rubric:

Quiz Rubric. 3 points - Perfect score; 100%. 2 points - Sufficient score; >90%. 1 point - Unused. All quizzes must be at least sufficient. 0 points - Quiz has not been taken or is not sufficient.

Quizzes are automatically graded by Moodle and may be taken as many times as necessary to achieve a perfect or sufficient score. Quizzes must be up to date at Roll Call (i.e. fall pause or spring break) and at the time of the Final Exam.

Receiving Credit for the Course

In order to receive credit for the course you must meet the following criteria:

Class Rubric. PAE - Minimum of 30 points, with at most one 0. Homework Activities - Minimum of 28 points, with no 0's. Quizzes - Minimum of 28 points, with no 0's.

The instructor reserves the right, with notification to the class, to reduce (but not increase) the point totals required for credit (e.g. in the event of a canceled class, a day with no reading, or a faulty quiz.)

Academic Integrity

Please take the time to read the Academic Misconduct section of Dickinson’s Community Standards. Violations of this policy are considered serious transgressions, so you should be especially certain that you understand your rights and responsibilities under it. Students suspected of academic dishonesty will be subject to the process outlined in the Student Conduct pages.

The specific policies for COMP190 are detailed below. If you are unsure about whether or not certain kinds of collaboration or sources are permissible on an assignment or in this course, ask your instructor.

Collaboration

Homework Activities and Quizzes in COMP 190 are individual assignments. All work submitted must be your own work. Sharing or receiving of answers to assignments is not permitted.

However, you are encouraged to interact and to help each other learn. For example:

All of these types of questions can be asked of the instructor or of your classmates, either in person or on the course Teams channel. You are encouraged to ask and respond on the Teams channel. If you ask in person, please also try to post what you learn to the channel. This will ensure that others with the same questions will have access to the same helpful information that you receive.

What you cannot do is copy answers from someone else. You must complete all question or exercise yourself on your own machine. It is the process of trying and working through these exercises that builds your experience. And that experience is what you will need to succeed in future classes, internships and jobs.

Outside Sources

There are sites where answers can be looked up or where others can be asked for solutions. There are undoubtedly assignments from past offerings of this course that aree available to some of you. There are calculators and tools that will generate answers to some problems. Regardless of the availability of these materials, the bottom line is that you are responsible for ensuring your own mastery of the material. Failure to do so will limit your success in this class, future classes, internships and jobs that rely on this material.

That said, for some problems you will be expected to use web searches and outside sources. In those cases this will be explicitly indicated in the problem. Otherwise, the expectation is that you should be able to answer the question based on what you already know combined with careful and creative thought and diligent effort. If you struggle with such a question, ask for suggestions (see Collaboration above).

Intellectual Property Rights

Audio or video recording of class meetings, lectures or discussions is prohibited without explicit permission of the instructor. Photographic records of whiteboards, projected slides or other visual media is also prohibited without explicit permission of the instructor. In any case where audio/video/photographic records are provided or permission is given for them to be made they are for personal use only. They may not be shared or redistributed and must be destroyed at the end of their usefulness or within one week following the termination of this course, whichever comes first. Similarly, any redistribution of sample code, homework solution sets or provided lab code is prohibited. Please note that all outside materials used in the course (readings/tutorials/assignments/projects/etc) are also be governed by their own licensing and copyright agreements.

Accommodations Students with Disabilities

Dickinson values diverse types of learners and is committed to ensuring that each student is afforded equitable access to participate in all learning experiences. If you have (or think you may have) a learning difference or a disability – including a mental health, medical, or physical impairment – that would hinder your access to learning or demonstrating knowledge in this class, please contact Access and Disability Services (ADS). They will confidentially explain the accommodation request process and the type of documentation that Dean and Director Marni Jones will need to determine your eligibility for reasonable accommodations. To learn more about available supports, go to www.dickinson.edu/ADS, email access@dickinson.edu, call (717)245-1734, or go to the ADS office in Room 005 of Old West, Lower Level (aka “the OWLL”).

If you’ve already been granted accommodations at Dickinson, please follow the guidance at www.dickinson.edu/AccessPlan for disclosing the accommodations for which you are eligible and scheduling a meeting with me as soon as possible so that we can discuss your accommodations and finalize your Access Plan. If you will be using any test-taking accommodations in this class, be sure to enter all test dates into your Access Plan in advance of our meeting.

Accessibility

This class meets and my office are located on the second floor of Tome Hall, which has an elevator, located to the left of the stairs inside the main entrance. If you require the use of an elevator to access our class or my office, please let me know. If there is ever a malfunction with the elevator, we will be notified by email, and I will consult with ADS to identify our options for that day.

Life Happens:

Sometimes stuff just happens, even more so in the challenging times in we currently find ourselves. Sometimes it is an unexpected sudden event such as an illness or family emergency. Other times it may be an ongoing issue or concern or an accumulation of smaller issues. Any of these things may affect your (or my) ability to focus or perform up to your (or my) potential through no shortcoming or fault of your (or my) own. Dickinson and this course provides a kind and caring community and we want to see you achieve at your full potential. So, if you are experiencing life events that are affecting your performance please don’t hesitate to talk to your instructor, your advisor or a member of the CARE Team. They will all be willing to talk with you, help to formulate a plan and/or connect you with others that may be able to assist. That said, it is still always best to contact the instructor in advance if you are going to miss a class meeting or an assignment due date. I will similarly communicate toy you any issues that I am facing in advance and we will adapt.