home ::
syllabus ::
groups ::
© 2024, Tim Menzies
What | Notes |
---|---|
What | CSC 591-021 (4435) SP Topic CSC (Lecture) CSC 791-021 (5343) Advncd Topics CSC (Lecture) |
When | TuTh 11:45AM - 1:00PM |
Where | room 01025 Engineering Building 2 |
Who | Tim Menzies, timm@ieee.org Office hours: 2pm to 4pm Tuesdays, in my office (no appointment necessary, first come, first serve) Room: 3304:EB2 Phone: 304 376 2859 (*) |
(*) Please, please, do not use this number, except in the most dire of circumstances. (e.g. car crash on way to exam).
What | Notes |
---|---|
Course Credit Hours | 3 |
Course website | http://github.com/txt/aa24 |
Prerequisites | CSC 316 and CSC 226 (or equivalent) |
Textbook | none |
Structure | The majority of this course is synchronous, delivered through real-time, face-to-face class sessions. |
Instructions | Learning activities in this course will include 10 programming assignments (due Tuesdays,11:30am), 5 quizzes, one large project report, and 1 mid-term exam. |
Tool used | All grades will be recorded in Moodle. All student work will be in Github (public GH, not the NCSU version). |
Auditing | not permitted |
Attendance | not mandatory (but see remarks below on pop quiz) |
Technical requirements | A laptop computer is required for students taking this course. NC State’s Online and Distance Education provides technology requirements and recommendations for computer hardware, and NC State’s Office of Information Technology provides recommendations for your computer . But as a rule-of-thumb, your computer is adequate if you can edit and run code using the Github codespaces environment. |
Why “AI” is different for SE. 1. Management of AI software projects. AI,SE and ethics. AI methods as they relate to SE: explainable AI; classification, clustering, multi-objective optimization (for non-continuous models); semi-supervised learning, theorem proving, generative methods. Experimental methods for SE and AI: statistics, experimental rigs, visualizations. AI application areas in SE: current methods, statistical methods, latest results in areas such as software configuration, defect prediction, effort estimation, project planning, Github issue close time prediction, bad smell prediction, cloud compute management, bad smell detection, static code warning detection, etc.
- To enable students to develop as successful professionals for highly competitive positions, applying “AI to SE” and “SE to AI” in academic departments, industry, and government.
- To prepare students to be effective researchers in the field of “AI for SE” and “SE for AI”
Learning Outcomes
- Students will achieve a high level of expertise in “AI to SE” and “SE to AI” , mastery of the knowledge in that fields and the ability to apply this knowledge and graduate school experiences to critical research problems
- Students will become independent researchers in “AI to SE” and “SE to AI”, developing a substantial expertise in that area that allows them to make an original contribution to it
- Students will state a research problem in such a way that it clearly fits within the context of the literature in “AI to SE” and “SE to AI” and demonstrate the value of the solution to the research problem in advancing knowledge within that area
- Students will apply sound research methods/tools to problems in “AI to SE” and “SE to AI” and describe the methods/tools effectively
- Students will analyze/interpret research data
- Students will communicate their research clearly and professionally in both written and oral forms appropriate to “AI to SE” and “SE to AI”
Grades come from
- 9 homeworks
- 1 mid-session exam
- 4 pop quizzes, simple questions, 3 marks each (called at any time)
- 1 eight page report on a large project (due end of semester)
Exams are done individually. Everything else is done in groups of 3 (groups of 1 for 700 level students)
-
Homeworks are small tasks
- submitted each week (a URL, to Mooddle)
- graded -1 (for no submission), 1 (for "please try again") and 2 for "good".
- may be remarked if resubmitted within two weeks or original dues date
-
Projects comprise a large tasks (working in public Github repos-- not NCSU GH):
group | group/solo | mark | notes |
---|---|---|---|
homeworks (ten) | group | 9 * 2 | |
mid-term | solo | 30 | mid-term |
quiz | solo | 4 * 3 | |
project | group | 40 | project report |
With the final grades, the following grade scale will be used:
A+ (97-100), A (93-97), A-(90-92)
B+ (87-89), B (83-87), B-(80-82)
C+ (77-79), C (73-77), C-(70-72)
D+ (67-69), D (63-67), D-(60-62)
F (below 60).
Groups must post homeworks each week, even if it is incomplete, OR THEY WILL LOSE ONE MARK. Those lost marks are never returned. Otherwise, students are marked 1 or 2 for "try again" and "ok". If you get a "1" mark and resubmit, that can be replaced with a "2".
For big project , students will lose 1 mark per day for late submissions (weekend = 1 day).
Homeworks can be remarked twice before that grade is finalized (but only if resubmitted in the 2 weeks since first due).
For all other remark requests, see the lecturer during office hours.
Course activities will require you to interact with other students in the course. For masters students, some evidence must be generated that you are actively engaged with your class peers. Specifically:
- The project repo MUST have a branch called "MAIN". Groups will be assessed via their commit history (seen under "Insights") in MAIN. Projects were all group members are not active doing commits will lose marks (or the offending student will be expelled from that group).
- Groups need to maintain an active discussion in the channel within the subject's Discord channel. Projects were all group members are not active in discussions will either lose marks (or the offending student will be expelled from that group).
Lectures are twice a week. Attendance is not mandatory. Lectures will be recorded.
However, there are spot quizzes for which you will earn zero marks if you are not present at the time of the quiz. If, for a quiz, you miss for reasons of sudden illness, then go to lecturer's office hours and plead your case. If, for a quiz, you must be absence for a reason sanction by the university, contact the lecturer before time and other arrangements will be made. Those sanctioned events are:
- The student is away from campus representing an official university function, e.g., participating in a professional meeting, as part of a judging team, or athletic team. These students would typically be accompanied by a University faculty or staff member.
- 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 as verified by the Division of Academic and Student Affairs (DASA) (go.ncsu.edu/absence). For more information about a variety of religious observances, visit the Diversity Calendar.
- Required military duty as certified by the student’s commanding officer.
- Unanticipated Absences. Excuses for unanticipated absences must be reported to the instructor as soon as possible, but not more than one week after the return to class. Examples of unanticipated absences are:
- Short-term illness or injury affecting the ability to attend or to be productive academically while in class, or that could jeopardize the health of the individual or the health of the classmates attending. Students must notify instructors prior to the class absence, if possible, that they are temporarily unable to attend class or complete assignments on time.
- Death or serious illnesses in the family when documented appropriately. An attempt to verify deaths or serious illness will be made by the Division of Academic and Student Affairs (go.ncsu.edu/absence).
Sometimes, the lecturer/tutor will require you to attend mandatory office hours session. 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.
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 (DRO) For more information on NC State’s policy on working with students with disabilities, please see the Policies, Rules and Regulations page maintained by the DRO and REG 02.20.01 Academic Accommodations for Students with Disabilities.
North Carolina State University (NC State) is a diverse community committed to being welcoming, inclusive and supportive for all people.NC State provides equal opportunity and affirmative action efforts, and prohibits Discrimination and Harassment based upon the following, which is considered by NC State to be a “Protected Status”:
- race
- color
- religion (including belief and non-belief)
- sex, including but not limited to
- (i) pregnancy, childbirth, or related medical condition,
- (ii) parenting; and
- (iii) sexual harassment;
- sexual orientation;
- actual or perceived gender identity;
- age;
- national origin;
- disability;
- veteran status; or
- genetic information.
NC State's policies and regulations covering discrimination, harassment, and retaliation may be accessed at https://policies.ncsu.edu/policy/pol-04-25-05/. Any person who feels that he or she has been the subject of prohibited discrimination, harassment, or retaliation should follow the procedures at https://policies.ncsu.edu/regulation/reg-04-25-02/.
- Note that, as a lecturer, I am legally required to report all such acts to the appropriate campus authority,
The NC State Code of Student Conduct outlines expectations for behavior in the classroom (whether virtual or physical) and the consequences for students who violate these expectations. Any behavior that impacts other students’ ability to learn and succeed will be addressed, but expressing diverse viewpoints and interpretations of course content is welcome. Community guidelines for this course include:
- Use a respectful tone in all forms of communication (email, messages, written, oral, visual)
- Maintain professionalism (avoid slang, poor grammar, etc.) in your written communication.
- Respect regional dialects and culturally embedded ways of oral communication.
- Stay home or in your dorm room if you are exhibiting symptoms of a contagious illness (fever, chills, etc.).
- Enter our virtual and/or physical classroom community respectfully by refraining from lewd or indecent speech or behavior, helping to maintain a safe physical environment, not using your cell phone for voice or text communication except when explicitly given leave to do so, and not attending class under the influence of any substance.
- Treat each community member with respect by not recording others without their consent or engaging in any form of hazing, harassment, intimidation, or abuse.
- Respect cultural differences that may influence communication styles and needs.]
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.
It is each student's responsibility to join the class Discord
group "ase24". Till Friday week1, the link to join there
is here. After that time , please contact the lecturer.
Most of the class communication from staff to students will be via this Discord group.
You should expect to receive a response within two business days (i.e. not over the weekend).
- If I email/message you directly, please strive to respond within two business days.
- It is recommended that you check your NC State email at least once a day to stay on top of course communications.
If you have a question about the course or its content, you can email me or post your question on our discord group. You can expect to receive a response within two business days (i.e. not over the weekend)
If you need to contact me directly, my preferred method of communication is
the discord group. However, for private matters, feel free to contact me via email.
If emailing then:
- Always include a descriptive, specific but concise subject.
- Include your course number your email, and provide adequate context for your question in order to ensure full understanding of your email.
- Be sure to use your NC State email account, and sign in with your name and Student ID number.
This is an advanced graduate class at R1 institution (an R1 institution is classified as a doctoral university with very high research activity).
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.
Students are required to comply with the university policy on academic integrity found in the i Code of Student Conduct 11.35.01 sections 8 and 9. Therefore, students are required to uphold the Pack Pledge: “I have neither given nor received unauthorized aid on this test or assignment.” i Violations of academic integrity will be handled in accordance with the Student Discipline Procedures.
Please refer to the Academic Integrity web page for a detailed explanation of the University’s policies on academic integrity and some of the common understandings related to those policies.
Cheating will be punished to the full extent permitted. Cheating includes plagiarism 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.
- In-class sessions are recorded in such a way that might also record students in this course.
- These recordings MAY be used beyond the current semester or in any other setting outside of the course.
- Contact your instructor if you have concerns.
Student information in this course may be accessible to persons beyond the instructor and students in the course. This course may involve electronic sharing or posting of personally identifiable student work or other information with persons not taking or administering the course.
Information on incomplete grades can be found at REG 02.50.03 – Grades and Grade Point Average. If you encounter a serious disruption to your work not caused by you and you would have otherwise successfully completed the course, contact your instructor as soon as you can to discuss the possibility of earning an incomplete in the course for the semester, including an agreement on when the remaining work must be done in order to change the grade to the appropriate letter grade.
If your must withdraw from a course or from the University due to hardship beyond your control, see Withdrawal Process and Timeline | Student Services Center for information and instructions.
Our syllabus represents a flexible agreement. It outlines the topics we will cover and the order in which we will cover them. Dates for assignments represent the earliest possible time they would be due. The pace of the class depends on student mastery and interests. Thus minor changes in the syllabus can occur if we need to slow down or speed up the pace of instruction.
Footnotes
-
AI for SE is different to standard AI. The data sets are different (far more repetitive structures, far more unlabelled data, far more variance in the labels). The problems explored are different (e.g. software configuration, software project estimation). The goals are different (more managerial level, more uncertainty management, more emphasis on explainability and repeatability). The methods are different (more emphasis on the scripting and continuous development and operations). The results are different (many domains are controllable via surprisingly small theories). Hence the experimental and statistical methods are different. ↩