Skip to content

Latest commit

 

History

History
448 lines (349 loc) · 19.2 KB

syllabus.md

File metadata and controls

448 lines (349 loc) · 19.2 KB

 home :: syllabus :: timetable :: groups :: moodle :: video :: © 2021


Syllabus

CSC 510-001 (1962)
TuTh 3:00PM - 4:15PM
01103 James B Hunt Jr Centenniel

Overview

Topics

This is an advanced graduate class. In this subject, students will be taught about etical SE the start of the art in how to:

  • Write "good" software;
    • Working in teams, deliver a systems of acceptable quality within eh available resources;
    • That someone else would want to use;
    • That is demonstrable good (compared to something else).
  • Learn the state of thea rt in SE

Prerequisites

  • CSC 316 and CSC 226

Textbook

Class Discord Group

It is each student's responsibility to join the class Discord group:

  • Students are strongly encouraged to contribute their questions and answers to that shared resource.
  • Note that, for communication of a more private nature, contact the lecturer on the email shown below.

All class communication from staff to students will be via this Discord group.

Assessment

Grades come from

  • 6 homeworks
    • Two of which are 2 "lab sessions" where students can use other students to test their software.
  • 3 projects,
  • 1 mid-session exam
  • Final "exam" is a take home essay (on ethics). Details to be posted by end September. Feel free to submit early.

Exams and essays are done individually. Everything else is done in
groups of 4+.

  • Homeworks are small tasks
    • graded 0 (for no submission), 1 (for "please try again") and 2 for "good".
    • may be submitted multiple times
  • Projects comprise three large tasks (groups of 5 people, working in public Github repos-- not NCSU GH):
    • Starting with 40 tasks in project1, we'll focus in on the best half, then the best quarter, for project2 and project3
      • Two bonus marks if other people jump to your task.i for their task.i+1 work
    • Project1: you'll start some task
    • Project2, Project2: you'll finish someone else's task (thereby learning the important of documentation, design purity, regression tests, etc).
    • In the above you can get, at max 6 bonus marks:
      • Proj1 is graded via the week6 deliverable list 1
        • And if your project survives into Proj2, you get 2 bonus marks
      • Proj2 is graded via the week12 deliverable list 2
        • And if your project from proj2 survives into Proj3, you get 2 bonus marks
      • Proj3 is graded via a report that your peers will review.
        • And if the class votes your proj3 as "best", they get two bonus marks.
  • To support the lab work
    • Students get 10 marks for participating (*) in other project's labs

(*) And by "participate" we mean that students need to attend lab sessions organized by other groups. This means you will be collecting lab data from your peers. This also means you are now the guardians of that private data. You will lose marks if that data collection violates the following three rights:

Right Notes
The right to privacy No one should be able to identify individuals in your data. Don't store free text names in Github!
The right to refuse Any member of this class, when called to an lab session, has the right to decline to participate without having to explain why (in which case, they still get their chit).
The right to be forgotten Any one you collect data from has the right to require their data deleted from your study. So keep anonymous ids for everyone, keep a mapping table real name to anonymous (outside of Github).

Grades

group mark notes
homework 2 marks * 3 hw1,2,3 : finding the state of the art
2 marks hw4: topic tbd
2 marks * 2 hw5,6 : user studies
exam 20 marks mid-term
20 marks final
project 16 marks * 3 project1,2,3
2 marks * 3 bonus marks for project 1,2,3

With the final grades, the following grade scale will be used:

 A+ (97-100),  A (93-96),   A-(90-92)
 B+ (87-89),   B (83-86),   B-(80-82)
 C+ (77-79),   C (73-76),   C-(70-72)
 D+ (67-69),   D (63-66),   D-(60-62)
 F (below 60).

Timetable

See "Timetable" on our home page.

Staff

Lecturer

Tim Menzies

  • Github id: timm
  • Discord name: timm
  • Office Hours: Monday, 12:00-2:00 and by request
  • E-Mail: timm@ieee.org
    • Only use this email for private matters. A ll other class communication should be via the class news group, listed below.
  • Phone: 304-376-2859 + Do not use this number, except in the most dire of circumstances (best way to contact me is via email).

Tutors

Andre Lustosa
  • Github id: andre-motta
  • Discord name: SargeHawk#1591
  • Office Hours: Wednesday, 13:30-15:00
  • E-mail: alustos@ncsu.edu

 

Kewen Peng

 

Xiao Ling

 

Weichen Shi



Other Information

Attendance

  • Lectures are twice a week.
  • Tutorial sessions are optional, but please use our tutorial resources to help you along.
  • Please make sure you experience the lectures (either live or watching the recoding).
  • Aside from that, you have to service all your homework, and prokect commitments. It is very bad to be absent from your project except for anticipated abseonces condonned by the univerisity:
    • Representing an official university function (e.g. athletics)
    • Required court attendance as certified by the Clerk of Court.
    • Students will be allowed a minimum of two excused absences per academic year for religious observances
    • Required military duty as certified by the student's commanding officer.
  • Unanticipated absences. Examples include:
    • Short-term illness or injury
    • Death or serious illnesses in the family when documented appropriately.

On top of that, Covid-related issues will, of course, also be excused.

(And no where on that list is "I have to go to a wedding in India".)

Expected Workload

Students must be prepared to dedicate AT LEAST 5-8 working hours a week to this class (excluding the time spent in the lecture meeting). Laboratory instruction is not included in this subject.

Sometimes, the lecturer/tutor will require you to attend a review session, during their consultation time. There, students may be asked to review code, concepts, or comment on the structure of the course. Those sessions are mandatory and failure to attend will result in marks being deducted.

Academic Integrity

Cheating will be punished to the full extent permitted. Cheating includes plagerism of other people's work. All students will be working on public code repositories and informed reuse is encouraged where someone else's product is:

  • Imported and clearly acknowledged (as to where it came from);
  • The imported project is understood, and
  • The imported project is significantly extended.

Students are encouraged to read each others code and report uninformed reuse to the lecturer. The issue will be explored and, if uncovered, cheating will be reported to the university and marks will be deducted if the person who is doing the reuse:

  • Does not acknowledge the source of the product;
  • Does not exhibit comprehension of the product when asked about it;
  • Does not significantly extend the product.

All students are expected to maintain traditional standards of academic integrity by giving proper credit for all work. All suspected cases of academic dishonesty will be aggressively pursued. You should be aware of the University policy on academic integrity found in the Code of Student Conduct.

The exams will be done individually. Academic integrity is important. Do not work together on the exams: cheating on either will be punished to the full extent permitted.

Disabilities

Reasonable accommodations will be made for students with verifiable disabilities. In order to take advantage of available accommodations, students must register with the Disability Resource Office at Holmes Hall, Suite 304, Campus Box 7509, 919-515-7653. For more information on NC State’s policy on working with students with disabilities, please see the Academic Accommodations for Students with Disabilities Regulation (REG02.20.01) (https://policies.ncsu.edu/regulation/reg-02-20-01/).

Students are responsible for reviewing the PRRs which pertain to their course rights and responsibilities. These include: http://policies.ncsu.edu/policy/pol-04-25-05 (Equal Opportunity and Non-Discrimination Policy Statement), https://oied.ncsu.edu/home/ (Office for Institutional Equity and Diversity), http://policies.ncsu.edu/policy/pol-11-35-01 (Code of Student Conduct), and http://policies.ncsu.edu/regulation/reg-02-50-03 (Grades and Grade Point Average).

Policy on Incomplete Grades

If an extended deadline is not authorized by the Graduate School, an unfinished incomplete grade will automatically change to an F after either (a) the end of the next regular semester in which the student is enrolled (not including summer sessions), or (b) by the end of 12 months if the student is not enrolled, whichever is shorter. Incompletes that change to F will count as an attempted course on transcripts. The burden of fulfilling an incomplete grade is the responsibility of the student. The university policy on incomplete grades is located at http://policies.ncsu.edu/regulation/reg-02-50-03. Additional information relative to incomplete grades for graduate students can be found in the Graduate Administrative Handbook in Section 3.18.F at http://www.ncsu.edu/grad/handbook/index.php

Late Assignments Policy

Homeworks become late 2 weeks after after the dates listed above. Late homeworks earn zero marks.

For project deliverables, students will lose 1 mark per day for late submissions (weekend = 1 day).

Digital Course Components

Instructors are not responsible for ensuring privacy or accessibility of electronic materials that are not required components of the course (e.g., links to supplemental information that is not part of the required reading list). However, instructors should judiciously consider the privacy, copyright, and accessibility of supplemental links provided to students and warn them of any known issues or concerns in this regard. See Online Course Material Host Requirements (NCSU REG 08.00.11).

Non-Discrimination Policy

NC State provides equal opportunity and affirmative action efforts, and prohibits all forms of unlawful discrimination, harassment, and retaliation ("Prohibited Conduct") that are based upon a person's race, color, religion, sex (including pregnancy), national origin, age (40 or older), disability, gender identity, genetic information, sexual orientation, or veteran status (individually and collectively, "Protected Status"). Additional information as to each Protected Status is included in NCSU REG 04.25.02 (Discrimination, Harassment and Retaliation Complaint Procedure). NC State's policies and regulations covering discrimination, harassment, and retaliation may be accessed at http://policies.ncsu.edu/policy/pol-04-25-05 or https://oied.ncsu.edu/divweb/. Any person who feels that he or she has been the subject of prohibited discrimination, harassment, or retaliation should contact the Office for Equal Opportunity (OEO) at 919-515-3148.

  • Note that, as a lecturer, I am legally required to report all such acts to the campus policy1.

1Note that any remark you make in some on-line comment tracking system like Github is a public document. So take heed of the following cautionary tale. One year, a student was joking around with his buddy in a Github issue report. Then he was rude enough and stupid enough to add a remark about how the rest of the team was just so ■■■■ ■■■■■■■■. Needless to say, the rest of the team took great offense at this remark and invoked the University's non-discrimination policies. As a result, everyone lost much time that semester, as well as grades.

Retaliation against any person who complains about discrimination is also prohibited. NC State's policies and regulations covering discrimination, harassment, and retaliation may be accessed at http://policies.ncsu.edu/policy/pol-04-25-05 or http://www.ncsu.edu/equal_op/. Any person who feels that he or she has been the subject of prohibited discrimination, harassment, or retaliation should contact the Office for Equal Opportunity (OEO) at 919-515-3148.

Liability Insurance.

(Included for completeness... but this is not text that is really relevant to this semester.)

Non-scheduled class time for field trips or out-of-class activities are NOT required for this class. No such trips are currently planned.

However, if they do happen then students are required to purchase liability insurance. For more information, see http://www2.acs.ncsu.edu/insurance/.

COVID-Related Issues

Due to the Coronavirus pandemic, public health measures have been implemented across campus. Students should stay current with these practices and expectations through the Protect the Pack website (https://www.ncsu.edu/coronavirus/). The sections below provide expectations and conduct related to COVID-19 issues.

Health and Participation in Class

We are most concerned about your health and the health of your classmates and instructors/TAs.

  • If you test positive for COVID-19, or are told by a healthcare provider that you are presumed positive for the virus, please work with your instructor on health accommodations and follow other university guidelines, including self-reporting. Self-reporting is not only to help provide support to you, but also to assist in contact tracing for containing the spread of the virus.
  • If you feel unwell, even if you have not been knowingly exposed to COVID-19, please do not come to class.
  • If you are in quarantine, have been notified that you may have been exposed to COVID-19, or have a personal or family situation related to COVID-19 that prevents you from attending this course in person (or synchronously), please connect with your instructor to discuss the situation and make alternative plans, as necessary.
  • If you need to make a request for an academic consideration related to COVID-19, such as a discussion about possible options for remote learning, please talk with your instructor for the appropriate process to make a COVID-19 request.

Health and Well-Being Resources

These are difficult times, and academic and personal stress is a natural result. Everyone is encouraged to take care of themselves and their peers. If you need additional support, there are many resources on campus to help you:

Community Standards related to COVID-19

We are all responsible for protecting ourselves and our community. Please see the community expectations and Rule 04.21.01 regarding Personal Safety Requirements Related to COVID-19 https://policies.ncsu.edu/rule/rul-04-21-01/

Course Expectations Related to COVID-19:

  • Personal Protective Equipment: As a member of the NC State academic community you are required to follow all university guidelines for personal safety with face coverings, physical distancing, and sanitation. Face coverings are required in this class and in all NC State buildings. Face coverings should be worn to cover the nose and mouth and be close fitting to the face with minimal gaps on the sides. In addition, students are responsible for keeping their course/work area clean.
    • You are expected to wear masks in lectures.
    • It is your choice to decide if you don't want to do that.
    • If you do that, then my choice will be to

image