Skip to content

Latest commit

 

History

History
310 lines (184 loc) · 16.3 KB

File metadata and controls

310 lines (184 loc) · 16.3 KB

🌀 CSC510: Software Engineering
NC State, Fall '25

Q1: does vibe code == pain maintain?
Q2: How much could/should AI change this "standard model"?
image

This subject: work in groups; write quality code; maintain alien code; use SE + AI; establish on-line profile. (For more on above pic, see Fig3 of Long et.al, TSE'23.)

Syllabus

TL;DR

  • Focused on process, not tools (code in any language you like).
  • Three projects on requirements engineering (RE + AI)
    1. play with LLMs;
    2. build requirements tools that use AI;
    3. maintain + extend tools from others.
  • Teams of 4.
  • No exams (weekly in-class quiz).
  • Classes are in person. I’ll randomly give quizzes during lectures (do not panic: max score is 110, so you can miss 1 or 2 quizzes).

Schedule

Section Notes
1 Mon, Wed 1:30pm- 2:45pm, EE2 1025
2 Mon, Wed 4:30pm - 5:45pm, Hunt 1103
Prerequisites CSC 316 and CSC 226 (or equivalent

Consult hours:

Who Role When Where Email
Amirali Rayegan Tutor Mon, 2:30 - 4pm On-line by appointment [email protected]
Tim Menzies Prof Tues, 11:45 - 1:15pm In my office, by appointment [email protected]
Rishi Singhal Tutor Wed, 9:30 - 11am On-line by appointment [email protected]
Manali Teke Tutor Thurs, 10 - 11:30am On-line by appointment [email protected]
Rishabh Jain Tutor Fri, 12 - 1:30pm On-line by appointment [email protected]

Preferred method of communication and Response Times:

  • For private queries, use the above emails
  • But or most queries, use our discord server.
  • IMPORTANT: If you receive a subject-related message outside of office hours (e.g. 2am Saturday morning), do not feel required to answer this till the next working day (e.g. Monday morning). Exception: just before deadlines.

Asking questions about the course:

  • It is each student's responsibility to join the class Discord group "SE fall'25".
  • Use the Discord server
  • All class communication from staff to students will be via this Discord group.
  • Students are strongly encouraged to contribute their questions and answers to that shared resource.
    • 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.
  • Remember, all your public here are public. These may be viewed and reviewed by future employees (or government services). Always be professional and polite.

Communication guidelines:

  • Always include a descriptive, specific but concise subject.
  • Include your course number and section in 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.

Details

What Notes
Course Credit Hours 3
Course website https://github.com/txt/se25fall
Catalog Description An introduction to software life cycle models; size estimation; cost and schedule estimation; project management; risk management; formal technical reviews; analysis, design, coding and testing methods; configuration management and change control; and software reliability estimation. Emphasis on large development projects. A group project is required following good software engineering practices throughout the semester.
Textbook (optional) Software Engineering: A Modern Approach
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 three projects and weekly in-class quizzes.
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 there are in-class quizzes
Technical requirements A laptop computer is required in each lecture 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.

Learning Outcomes

  • Students will achieve a high level of expertise in SE, mastery of the knowledge in that fields and the ability to apply this knowledge and graduate school experiences to critical research problems
  • Students will apply sound development methods/tools to problems in SE and describe the methods/tools effectively
  • Students will analyze/interpret/implement software requirements
  • Students will communicate their work clearly and professionally in both written and oral forms appropriate to “SE"

Assessment

  • Multiple mini-review questions on Moodle
    • 1 questions about the lectures that week
    • Run at a random time during class each week.
  • 3 projects, 2 of which have live demos.
  • Quizzes are done individually. Everything else is done in groups of 3.

Projects:

  • First two projects design and build a system.
  • Last project maintains and extends someone else's system.
    • This will demonstrate the important of documentation, design purity, regression tests, etc.

⚠️ IMPORTANT : Projects 2 and 3 will be assessed in live demo sessions with the tutor/grader. These sessions will occur the weeks of Nov10 and Dec8. We ask for students for their help in scheduling all these demo sessions. Our graders/tutors are students with their own exams and assignments to complete. Hence, they might suggest demo times outside of normal working hours (evenings, weekends). Please do them the courtesy of considering those times. That said, if those proposed times are inconvenient, you can, should, and must ask for other times.

Grades

group mark notes total
Project 22*3 66
Project bonus (if someone uses your code) 5 5
Quizzes 13*3 39
total 110

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

 A+ (97-110),  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).

Late Marks

Submissions score one late mark per day (but only -1 for the weekend).

Expectations for learner participation and interaction

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 some on-line forum. Github issue reports will be fun. Optionally, students can request a 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).

Attendance

  • Lectures are twice a week.
  • Lectures will be recorded.
  • Attendance is not mandatory, but if you do not attend, you cannot do the quizzes.

If, any activity, 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.

Absence Verification: The Absence Verification office will provide student absence verification for deaths, legal obligations, military duty, and serious illnesses like surgery and hospitalizations.

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.

Use of AI tools

Knock yourself out. Go to town.

But always verify. Anything you hand in that is wrong (from the AI) will be counted against you.

Other Student Expenses

Textbooks are optional for this subject, so expect $0.

Depending on what LLMs you use, this will incur a cost. Project teams should discuss how much they can spend, then plan accordingly. For example, for three projects at $80 of LLM each, that would be $240 divided by 4 people in a team ($60 each, for the whole semester, which is less than the cost of a textbook).

Community guidelines

  • Use a respectful tone in all forms of communication (email, 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.]

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 (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.

Academic Integrity

Students are required to comply with the university policy on academic integrity found in the i What is Academic Misconduct?. Therefore, students are required to uphold the Pack Pledge: " “I have neither given nor received unauthorized aid on this test or assignment,” on all syllabus, assignments, examinations, or other academic evaluations is encouraged."

Cheating will be punished to the full extent possible. 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.

Student Privacy

  • 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.

Syllabus Modification Statement

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.