Skip to main content

CSC 217 Software Development Fundamentals Lab - Syllabus

All CSC 217 Sections

Spring 2026

1 Credit Hour


Course Description

Laboratory course to accompany CSC 216 lecture course. Application of the software processes and practices to design, implement, and test the development of software solutions requiring composition; inheritance; finite state machines; and linear data structures, including recursive linked lists.

Learning Outcomes

Upon successful completion of this course, a student will be able to…

  1. Design, implement, and test programs which use object-oriented language features of inheritance, abstract classes, interfaces, and polymorphism;

  2. Employ the phases of the software development life cycle (requirements, design, implementation, and test) in developing software;

  3. Use UML class diagrams to propose a design to satisfy requirements;

  4. Use design patterns (e.g., model-view-controller and the state pattern) to solve development problems;

  5. Design effective system and unit tests and implement automated unit test code;

  6. Navigate and extract information from the Java API, and employ the Javadoc tool to construct internal documentation of source code;

  7. Use software engineering best practices like pair programming, test-driven development, code coverage, static analysis, version control, continuous integration, and documentation with supporting tooling to design, implement, and test object-oriented systems.

  8. Design, implement, and test a finite state machine;

  9. Design, implement, and test simple recursive data structures;

  10. Implement, test, and use a stack, queue, array-based list, and linked list.

Instructors

Instructor: Dr. Chandrika Satyavolu
Email: jsatyav@ncsu.edu
Web Page: https://csc.ncsu.edu/people/jsatyav/
Office Location: EB2 2272
Office Hours: (Posted on Course website)


Instructor: Dr. Sarah Heckman
Email: sarah_heckman@ncsu.edu
Web Page: https://sheckman.github.io/
Office Location: EB2 2299
Office Hours: (Posted on Course website)


Instructor: Mr. James Tetterton
Email: jctetter@ncsu.edu
Web Page:
Office Location: online
Office Hours: (Posted on Course website)


Lab Sections

Lab Section Meeting Times Meeting Location Lab Deadline Jenkins
Section 201 M 10:40a-12:30p Engineering Building II, Room 1221 M 10:30a https://csc217-201-jenk.csc.ncsu.edu/
Section 202 M 12:50p-2:40p Engineering Building II, Room 1221 M 12:40p https://csc217-202-jenk.csc.ncsu.edu/
Section 210 T 8:30a-10:20a Engineering Building II, Room 1221 T 8:20a https://csc217-210-jenk.csc.ncsu.edu/
Section 211 T 10:40a-12:30a Engineering Building II, Room 1221 T 10:30p https://csc217-211-jenk.csc.ncsu.edu/
Section 213 T 3:00p-4:50p Engineering Building II, Room 1221 T 2:50p https://csc217-213-jenk.csc.ncsu.edu/
Section 221 W 10:40a-12:30a Engineering Building II, Room 1221 W 10:30p https://csc217-221-jenk.csc.ncsu.edu/
Section 222 W 12:50p-2:40p Engineering Building II, Room 1221 W 12:40p https://csc217-222-jenk.csc.ncsu.edu/
Section 601 Asynchronous Online T 11:45p https://csc217-601-jenk.csc.ncsu.edu/
Section 731 Asynchronous Online T 11:45p https://csc217-731-jenk.csc.ncsu.edu/

Meeting Notes

Students are required to attend one CSC 217 lab section if they have not already completed CSC 217.  Each lab is 110 minutes. Students in Sections 231 and 601 will complete the lab activities asynchronously.

Course Materials

Textbooks

CSC 217 Lab Manual - Sarah Heckman
Web Link: https://pages.github.ncsu.edu/engr-csc217/labs/
Cost: Free!

Requisites and Restrictions

Prerequisites

CSC116 with a C or better

Co-requisites

CSC 216

Restrictions

None.

Course Structure

The following section describe the structure and policies for CSC 217.

Lab Meetings

There are two types of labs:

  • Synchronous Labs: a set meeting time where students are required to attend, in-person
  • Asynchronous Labs: no set meeting time; attendance is not required

Each lab section will have an assigned lab deadline, typically 10 minutes before the start of the next lab, when that week’s lab assignment is due.

Students in synchronous labs are expected to attend and contribute during their scheduled lab meeting. Missing a lab with an unexcused absence will result in a zero for that lab assignment. Students who are ill should not attend lab in person, but if you are well enough to participate remotely, you are expected to connect wiht your team during the lab meeting time via Zoom. Students with documentation to excuse the absence will have the opportunity to earn credit for the lab by contributing to lab work completed outside of the lab or before the next lab. Please discuss absences with the instructor (sarah_heckman@ncsu.edu) as per the attendance policy below.

Students in asynchronous labs are expected to work throughout the week on completing lab activities. This will include watching a short lab introduction video and working through the lab activities.

Lab Assignments

Over the course of the lab, you will complete a stand-alone course registration system in Java. The course registration system will have three user roles and functionality for students to enroll in classes. The lab assignments build over the course of the semester; success on an earlier assignment is needed for success in future assignments.

Students in synchronous labs will be expected to work with a partner or team of three to complete lab activities. Students in the asynchronous lab sections will have the option to work with a partner or in a team of three. The opt-in request must be completed for each lab rotation to be considered for a team.

Policy on Teams: Students who prefer to work individually on lab assignments should change their enrollment to the asynchronous lab section appropriate for their lecture section. For “on-campus” students, please enroll in lab section 231. For Distance Education students, lab 601 is already an asynchronous section.

Academic Integrity

All programs are to be your own work (for paired and team assignments, all work is to be you and your assigned partner’s or assigned team mates’ own work). See the “Academic Integrity” section of the syllabus for further details.

Course Policies

Pandemic Policies

Due to the COVID-19 pandemic, public health measures continue to be 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.

The key is timely communication. If you become ill or have some other hardship due to the pandemic or for any other reason, please let the instructor know via email (sarah_heckman@ncsu.edu). You are also encouraged to contact your academic advisor who can help you with your situation at a broader level. Also, let you lab instructors and team know if you will miss lab.

Timely communication is key and the appropriate actions, and requests for documentation or verification, will vary by situation. In some cases excusing the absence and working remotely is appropriate. In other situations, an incomplete would be more appropriate. However, some options, like an incomplete, are not appropriate once the assignment deadline has passed. Requests at the end of the semester for consideration due to hardship earlier in the semester that was not communicated to the instructor will likely not be honored.

  • If you test positive for COVID-19, or are told by a healthcare provider that you are presumed positive for the virus, you should not attend any hybrid or face-to-face (F2F) classes and work with your instructor on any adjustments necessary; also follow other university guidelines, including self-reporting (Coronavirus 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 a F2F class or activity.
  • 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 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.

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:

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

  • Face Coverings: All members of the NC State academic community are expected to follow all university policies and guidelines, including the Personal Safety Rule and community standards, for the use of face coverings. Face coverings are required in instructional spaces. Face coverings should be worn to cover the nose and mouth and be close fitting to the face with minimal gaps on the sides.
  • Course Attendance: NC State attendance policies can be found at: REG 02.20.03 – Attendance Regulations – Policies, Regulations & Rules. Please refer to the course’s attendance, absence, and deadline policies for additional details. If you are quarantined or otherwise need to miss class because you have been advised that you may have been exposed to COVID-19, you should not be penalized regarding attendance or class participation. However, you will be expected to develop a plan to keep up with your coursework during any such absences. If you become ill with COVID-19, you should follow the steps outlined in the health and participation section above. COVID 19-related absences will be considered excused; documentation need only involve communication with your instructor.
  • Technology Requirements: This course may require particular technologies to complete coursework. Be sure to review the syllabus for these expectations, and see the syllabus technical requirements for your course. If you need access to additional technological support, please contact the Libraries’ Technology Lending Service: Technology Lending.

CSC 217 COVID-19 Expectations

Students participating in a synchronous section of CSC 217 MUST wear a mask to lab. While we will try to have spare masks available, we cannot guarantee that there will be a mask to provide a student at a given lab. Students without masks will be asked to leave. If a student without a mask refuses to leave the lab, they will be removed from their lab team and will complete the lab individually. The student will be unable to receive help from the PTFs or other students due to social distancing expectations.

Please be aware that the situation regarding COVID-19 is frequently changing, and the delivery mode of this course could change accordingly, including from in-person to remote. Regardless of the delivery method, we will strive to provide a high-quality learning experience.

Need Help?

If you find yourself in a place where you need help, academically or otherwise, please review these Step-by-Step Help Topics.

Other Important Resources

Resources for Online Participation (Section 231 & 601)

Resources for Online Learning

When using an online course format, you may need to adapt your learning strategies and study skills. The NCSU Academic Counseling center offers resources on developing and adapting study skills. In addition, when completing coursework remotely (see Engineering Online Tips for Success):

  • With online education, there is an even stronger need for self-discipline than when taking on-campus courses.
  • The responsibility to “attend” class is completely up to you. While this time flexibility is one of the great features of online education, it is also one of the biggest opportunities to get behind in your studies.
  • Without a regularly scheduled in-person class, it is easy to think you have all the time in the world. This can leave you with mountains of work to do as deadlines approach.
  • You must be able to manage your time well.

NC State has provided several resources to help you move to online learning.

Continuity Plans

As the pandemic situation changes, there may be a need for the posting of a continuity plan. If so, that will be announced to the class when available.

Student Illness

If you test positive for COVID-19 and you develop symptoms that interfere with the completion of CSC 216 coursework, please let the instructor (sarah_heckman@ncsu.edu) and the CSC Advising Office know about your situation as quickly as possible. We will work with students on a case-by-case basis to identify the best course of action for individual health and future academic success. An incomplete or semester withdraw may be the best course of action. Where possible, we will try to resolve incompletes during the winter break; however, that will be handled on a case-by-case basis and depends on the health of the students, PTFs, and instructors to support incomplete work.

PTF Illness

If PTFs test positive for COVID-19 and develop symptoms that interfere with the completion of their job, duties will be distributed to other PTFs as appropriate based on the situation at the given time. Any office hour cancelations will be posted to Piazza and updated on the CSC 216/217 Office Hours calendar. Please use the office hours calendar for the most up to date listing of office hours each day.

We will try to minimize impact to labs by identifying back up PTFs for each lab section to help keep the labs in person. If in-person labs need to move online synchronous due to PTF illness, university policy, or for other reasons, a Zoom link will be communicated to the students enrolled in the lab section and the expectation is that you will continue attending lab during your section’s time.

To minimize exposure, all office hours and meetings will be held via Zoom.

Instructor Illness

I am committed to minimize my exposure to COVID-19 and other illnesses during the instructional semester so that I can best serve students in meeting CSC 216/217 outcomes regardless of instructional modality. If I am tested positive for COVID-19 or my family situation changes in such a way that in-person instruction is no longer possible, instruction may move to an online synchronous or asynchronous model for Section 001 and/or Section 002 depending on the situation. If I am unable to teach or record videos for asynchronous instruction, a colleague will provide instruction or we will utilize materials from past offerings of the course.

To minimize exposure, I will hold all office hours and most meetings via Zoom.

Computers and Electronic Devices

The lab room, Engineering Building II, Room 1221, is equipped with computers to support lab activities. You are also welcome to bring a personal device to the lab. To minimize damage to the equipment, food and uncovered drink containers are not allowed in the lab unless the student has a specific accommodation related to food/drink.

You may not record the lecture or lab without express written permission from the instructor.

The will be posting lab introduction slides for all students. Additionally, we’ll post introductory videos for the labs. The labs are intended as work time, so the leading introductory material is short with an overview of that week’s lab and helpful demos and resources.

Professionalism

Students are expected to conduct themselves in a respectful and professional manner at all times. Students are expected to act professionally both in person and electronically with all members of the teaching staff and their classmates. Communication, both written and verbal, should be respectful and should never include derogatory comments about yourself or others. All criticism (of yourself, the course, instructor, PTFs, fellow students, resources, etc.) should be constructive and provide feedback for improvement. Guidelines for electronic communication are listed in the section below.

Professionalism also includes attendance and participation. If you are unable to participate, please notify the teaching staff and your team as soon as possible. If you have a missing teammate, please notify the teaching staff as soon as possible.

Report any unprofessional behavior by a class member (including the PTFs) to the instructor.

Unprofessional electronic communication on course forums may result in suspension from the course forum and possible grade penalties. Unprofessional in-person behavior, including a lack of participation, will result in a conference with the instructor and possible grade adjustments for all involved parties.

Electronic Communication

The teaching staff looks forward to receiving emails and message board posts about any questions you have about the class, materials, exams, and assignments.  Below are several rules for electronic communication.

Higher education provides you with a training ground prior to entry into the work environment for your chosen career.  You will use many of the following rules electronic communication when you are communicating with colleagues, your supervisor, or clients once you are in the work world.  Although many of the rules of etiquette for electronic communication will be similar in the work environment, we have some specific to this course.

Please observe the following etiquette when communicating with the teaching staff and your peers.  The teaching staff receives many emails on a daily basis and the instructor teaches several courses.  Please note that a member of the teaching staff will respond to an email or message board within 24 hours on a business day and within 48 hours on a weekend or holiday.  Most of the time, we will respond more quickly, but it is not guaranteed.

Also, before sending an email, try to find the answer to the question by using various references already available to you:

  • If the question is related to class administration, check the syllabus.
  • If the question is related to recent information, check the weekly emails or Piazza posts from the teaching staff.
  • If the question is homework or exam related, check the message board to see if it has already been answered.  Also, read your textbook.

For emails, please identify your course, lecture and/or lab section, and your name in the subject line (first and last name) along with the subject of the message.  For example: “CSC216-002 Jenny Howard - Question about Project 1 Part 1”.

Email should include a salutation to identify the recipients of the email.  For example, begin an email to your instructor with a salutation such as “Hi Dr. Heckman,” or “Dr. Heckman”.  For emails to the sup list, consider a salutation like “Greetings Teaching Staff,”.  You now have the attention of the email recipients.

The tone of the email message should be professional.  Re-read your email before you press Send and make a judgment as to how you would respond if you were a recipient of the email you are planning to send.

If you have a question that is beyond the scope of an email, consider coming to office hours or scheduling an appointment with a member of the teaching staff. 

If you have several questions or items, please number them for ease of reading.  The response will also be easier to understand.

Please spell check and correct mechanical/grammar errors.  Avoid emails written only in lowercase and lacking punctuation.

For emails related to absences, include the specific date(s) instead of more relative terms like “last week” or “yesterday”. Due to time zone differences your yesterday may not be the teaching staff’s yesterday.

Close your email with your name.

Please use Reply All when responding to an email that includes the teaching staff or the teaching staff mailing list.

If you have a general question about a homework, post your question to Piazza. If you have a question that is more specific or that involves snippets of code, email it to the sup list for your section or use a private Piazza post. The sup list may be found on the Moodle website.

Grade Appeals

If at any time you feel an assignment was graded improperly, fill out the Regrade Request Form, which is located in the General Course Resources topic on Moodle. The form will email the PTF and the instructors with your regrade request, which will be followed up via email. All regrade requests must be submitted to the form no later than 1 week after the assignment was returned to you. If the grade was returned during the final exam period, then you must submit your regrade request before the deadline set by the instructor.

Grading

Grade Components

Component Weight Details
Labs 100 All labs will be averaged.

The lowest lab grade may be dropped except for the last lab of the semester!

If you are working on a team, your grade will consider contribution of students on the team. Poor contribution on lab deliverables OR dominating work may lead to a deduction or to a zero on the lab. Receiving a zero on four labs for poor contribution will lead to an F or U in the course. There may be additional global contribution penalties for students who consistently lack contribution across multiple labs.

Letter Grades

This Course uses Standard NCSU Letter Grading:

         
97 A+ 100
93 A < 97
90 A- < 93
87 B+ < 90
83 B < 87
80 B- < 83
77 C+ < 80
73 C < 77
70 C- < 73
67 D+ < 70
63 D < 67
60 D- < 63
0 F < 60

Requirements for Credit-Only (S/U) Grading

In order to receive a grade of S, students are required to complete all assignments and earn a grade of C- or better. Conversion from letter grading to credit only (S/U) grading is subject to university deadlines. Refer to the Registration and Records calendar for deadlines related to grading. For more details refer to http://policies.ncsu.edu/regulation/reg-02-20-15.

For students taking CSC 217 Credit-Only, a grade of S will only be recorded if a grade of 70 or higher is earned and the student has appropriate contribution to the lab activities.

Policies on Incomplete Grades

If an extended deadline is not authorized by the instructor or department, 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) 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-3.

Students requesting an incomplete will discuss the incomplete timeline with the instructor and agree to an incomplete contract that outlines expectations for finishing incomplete coursework within the next semester. Incompletes are for students who run into significant hardship during the course of the semester and may not be used to retake or redo assignments that were already submitted.

Late Assignments

The labs build on each other over the course of the semester. When the semester is complete, students will have created a stand-alone course registration system approaching 10,000 lines of source and test code.

Labs are not accepted late.

We will grade the last commit to GitHub before the lab deadline. If you do not complete a lab before the deadline, you (and your team) will need to complete the previous lab before moving on to the next lab.

We may require some labs to be completed individually and some to be completed in teams for students in synchronous sections. Lab teams will rotate during the semester.

Attendance Policy

For complete attendance and excused absence policies, please see http://policies.ncsu.edu/regulation/reg-02-20-03

Attendance Policy

Attendance to synchronous lab sections is mandatory during the assigned lab section so you can work with your team. Students are expected be working on CSC 217 work and with their lab teams during the synchronous lab time.

Students in asynchronous lab sections do not have an attendance requirement, but they are expected to keep up with the work and work with their team if they are assigned to one.

Absences Policy

For synchronous labs, the assignments are typically completed on teams. The most effective teams are those who can work together at the same time. Students in asynchronous labs will have the option to work on a team.

Students who miss a lab with a documented excused absence will have the in-lab participation portion of their lab grade waived. Students will be expected to participate in finishing any lab deliverables outside of lab before the next lab’s deadline. Failure to participate to complete lab deliverables will result in a 0 for the lab.

All anticipated absences must be presented to the instructor no later than one week before the absence. All emergency absences must be turned in no later than one week after the student’s return date. All other absences will be unexcused.

Students who miss a lab with an unexcused absence will receive a 0 for the lab, even if they complete work outside of the lab.

Missing four or more labs with an unexcused absence will result in a grade of F for the course.

Excessive excused absences will require consultation with the instructor.

Makeup Work Policy

In-lab activities cannot be made up. Students with excused absences will complete the lab activities remotely with their team.

Additional Excuses Policy

None.

Academic Integrity

Academic Integrity

Students are required to comply with the university policy on academic integrity found in the Code of Student Conduct found at http://policies.ncsu.edu/policy/pol-11-35-01

All members of the University community, students, faculty and other employees, have the responsibility to report academic misconduct to the appropriate authority.

The Computer Science department uses software that detects cheating violations for programming projects. Do not use other student’s code, do not share your code, do not copy or use code from someone who took the class X semesters ago, do not use code from online. Start on assignments early so that you do not feel tempted to cheat!

All work that you turn in for grading must be your own! This means that all work must be an independent and individual creation by you or in the case of paired/team assignments; all work must be an independent and individual creation by you and your assigned partner or assigned teammates.  Any attempt to gain an unfair advantage in grading, whether for yourself or another, is a violation of academic integrity.  You may only work on an assignment with another student(s) in the class if explicitly stated in the assignment.

Why is Academic Integrity Important?

(Adapted from Matt Stallmann and Mitchell Wand)

Would you want to fly in a plane whose controller software was designed and implemented by a group of people who had never demonstrated the persistence, attention to detail, and ability to deal with negative feedback from compilers, linkers, etc., that it takes to design, implement, and debug a program on their own?

Academic misconduct affects you, your peers, the CSC department, the university, all students who have ever graduated from NCSU with a CSC degree, and all users of software products to which you contribute. When you receive a degree from NCSU:

  • The degree represents the university’s certification that you have demonstrated certain skills and knowledge in your degree program.
  • Your grade in a course represents the instructor’s certification that you have demonstrated certain skills and knowledge in the specific course.
    When an employer sees your degree from NCSU, they expect you to be able to demonstrate certain skills and knowledge. If a student graduates with a CSC degree and performs poorly, the value and reputation of a CSC degree from NCSU is negatively affected.

In industry, intellectual property rights are crucial in software and product development. Rules regarding intellectual property are similar to rules outlining academic integrity. Employees who “cheat” or violate copyrights or other intellectual property rights can cost the employer large sums of money. In addition, even though you will likely work on a team in industry, completion of the CSC degree program includes demonstrating skills to work effectively on teams. For example, students should demonstrate well-developed individual skills, integrity to take responsibility for one’s own work, and the ability to recognize clear boundaries between one’s own contributions and those of others.

Ethics and professionalism are important to the community. The Association for Computing Machinery (ACM), a professional organization for computing professionals, has the ACM Code of Ethics and Professionalism that outlines the ethical principals of the computing community.

What are the Consequences of Academic Misconduct?

Students who commit an academic integrity violation on any course deliverable will receive up to a 0for the assignment! The instructor reserves the right to increase the penalty to no credit for the course as appropriate for the situation.

All cases of academic misconduct will be reported to the Office of Student Conduct. A first offense will place the student on Academic Probation for the remainder of their academic career. Academic Probation is not visible on a student’s transcript or other educational record, but the Office of Student Conduct does supply this information for various campus agencies running checks for disciplinary standings. If the student is suspended, which will likely happen on a second academic integrity infraction, the Office of Student Conduct may notify many other departments on campus, such as Registration & Records, Housing, Campus Health, Counseling, and Financial Aid. In addition, administrators of some scholarships routinely ask the Office of Student Conduct to confirm whether the student is in good standing.

Resources you ARE Allowed to Use

You must cite your use of the approved resources in your assignment submissions. If you do not cite your use of the approved resources, you may be committing plagiarism.

The only people that you MAY receive help from:

  • your instructor,
  • the PTFs for CSC 216/217,
  • for paired/team assignments, you may receive help from your assigned partner or your assigned teammates, and
  • for exercises, you may work with any of your neighbors that are physically present in class.

The only external resources that you MAY also reference:

  • your textbook,
  • the textbook website,
  • the JAVA API HTML pages, and
  • other third-party API HTML pages as appropriate for an assignment (for example, you may use the JUnit API HTML pages to help you with writing JUnit tests).

Resources you ARE NOT Allowed to Use

  • You MAY NOT receive help from anyone or anything else that is not in the list of approved resources (above).
  • If you think a resource should be added to the list of approved resources (above), you must first receive written permission from the instructor so that the instructor can share the resource with all students.

Examples of Academic Misconduct

Note: this list is not exhaustive.

  • It is aiding & abetting and cheating to give any student access to any of your work which you have completed for individual class assignments.
  • It is cheating and plagiarism to use another person’s work and claim it as your own.  You are expected to complete all assignments on your own, unless otherwise specified in the assignment.
  • It is cheating to interfere with another student’s use of computing resources or to circumvent system security.
  • It is aiding & abetting and cheating to email, ftp, post on the Internet, bulletin boards, message boards, etc. your work for others to obtain OR to have others provide answers. Even if you did not provide the material, using answers to CSC 216/217 assignments posted to sites like Chegg or CourseHero is cheating.  Do NOT use sites that allow you to “anonymously” post code.  Those sites are searchable, and others may find your code (like the teaching staff).
  • It is cheating to ask or pay another person or persons to complete an assignment for you.
  • It is cheating and plagiarism to decompile any compiled code and use the decompiled source code as your own.  You may also break the law by decompiling code.
  • It is cheating and plagiarism to use code that you find online, including code behind the Java API webpages.
  • It is aiding & abetting and cheating to give another student access to your account (NC State account or others that you use for university work) or to give them your account password.
  • It is aiding & abetting and cheating for you and another student to work collaboratively on an assignment, unless otherwise specified by the assignment.
  • It is cheating to circumvent the intention of the assignment and/or the automated grading system (e.g., by hardcoding test case solutions, by copying/pasting code provided in the Java libraries to fulfill an assignment objective, to implement extra lines of code to achieve higher statement coverage, etc.).
  • It is aiding & abetting to allow another student to copy from your written or electronic assignment submissions (e.g., it is the student’s responsibility to cover his or her exam answers to help prevent others from copying answers)
  • It is cheating and plagiarism to copy from another student’s written assignment (e.g., exams or homeworks).
  • It is cheating to submit identical or similar assignment submissions from an assignment submitted in a previous course, or a previous attempt of the current course.
  • It is cheating to reuse your code from previous semesters if retaking the course. Start over to focus your learning this semester.
  • It is aiding & abetting to leave your computer unlocked and/or unattended (whether intentional or accidental) such that others could access your assignments.

Examples of NOT Cheating (this list is NOT exhaustive):

  • Using the code from the class website (with citations in the comments).
  • Using code from other programs YOU wrote in this course during this semester (with citations in the comments).
  • Using code from other programs that YOU and a partner wrote as part of assigned exercises in this course during this semester (with citations in the comments).
  • Help from TAs or instructor (with citations in the comments).
  • Using code from the textbook or textbook website (with citations in the comments).

Example Citations

1
2
3
4
5
6
7
8
9
10
11
12
/* Citing Help from another Person: (In method or class level comments)
 * I received help from Dr. Heckman on DATE during her office hours.  We discussed X.
 */

/* Citing Help from other Assignments
 * The code for this method is based on Exercise Y that I completed with Z on date.
 */

/* Citing Help from the Textbooks
 * The code for this method is based on the ArrayList.add() method of the course textbook "Building Java 
 * Programs" by Reges and Step on page 467.
 */

Protecting Yourself

  • Do not leave papers lying around your workstation.
  • Cover your written exam responses with a cover sheet to prevent others from copying your responses.
  • Do not dispose of important papers in the lab recycling bins and trash cans until after the assignment is graded.
  • Do not give out your password.
  • Do not leave your workstation unattended or forget to log yourself out.
  • Do not leave your laptop unattended.
  • Do not give other students access to any of your workspace or email them any code.
  • Do not give other students access to your course materials or your personal computer.
  • Do not email, ftp, or post your code on the Internet, message boards, etc.
  • Keep all copies of final an intermediate work until after the assignment is graded.
  • Keep all graded assignments until after you receive the final semester grade for the course.
  • Do not discuss implementation details of the assignment with your peers.
  • Do not discuss the contents of a course exam with other students, especially those students who have not taken the exam yet.
  • Ask the instructor for clarification of any questions or concerns about academic integrity policies before submitting an assignment.

Forum Use

The forum is available to ask questions about assignments and tests.  Do NOT post any code to the forum unless the post is private! The teaching staff reserves the right to edit any student’s forum post for inappropriate content. Additionally, use of the forum is a privilege. Improper use for the forum may result in a ban from posting or reading.

Posting Assignment Artifacts Online

While your deliverable is your work, the assignment artifacts (guided projects, project requirements, project design, provided code, quiz questions, etc.) are the intellectual property of the instructors and the university.  You may not post any assignment artifacts (including assignment descriptions) or solutions to a publicly accessible website, public code repository, or assignment repository (e.g., Chegg, etc.) during or after the semester. Teaching staff will request removal of unauthorized materials; failure to remove materials in a timely manner will result in an academic integrity violation.

Some companies like to review student code artifacts as part of a hiring process. You may use CSC 216/217 materials for this code porfolio using the following guidelines: 1) the code must be posted in a private repository or online resource and only shared with the hiring manager or reviewer and 2) you must add a README or additional documentation clarifying the parts of the code you implemented and differentiating what was provided for you (GUI, design, tests, etc.). After the review is complete (about 2 weeks), remove permissions from the reviewer.

Academic Honesty

See http://policies.ncsu.edu/policy/pol-11-35-01 for a detailed explanation of academic honesty.

None.

Honor Pledge

Your name on any test or assignment or the electronic submission of an assignment through Moodle or other class courseware system indicates, “I have neither given nor received unauthorized aid on this test or assignment.”

Electronically-Hosted Course Components

Students may be required to disclose personally identifiable information to other students in the course, via electronic tools like email or web-postings, where relevant to the course. Examples include online discussions of class topics, and posting of student coursework. All students are expected to respect the privacy of each other by not sharing or using such information outside the course.

Electronically-hosted Components: The following materials are electronically-hosted for use by students and teaching staff through a combination of Moodle, Wolfware, Google Docs (through NC State), GitHub, Jenkins, Piazza, Gradescope, Zybooks, Zoom, MyDigitalHand, and Typos: lecture notes, message boards, electronic submission & evaluation of assignments, electronic submission of exercises, electronic evaluation of exams and/or quizzes, questions about course materials, and study resources and exercises.

Accommodations for Disabilities

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

Non-Discrimination Policy

NC State University provides equality of opportunity in education and employment for all students and employees. Accordingly, NC State affirms its commitment to maintain a work environment for all employees and an academic environment for all students that is free from all forms of discrimination. Discrimination based on race, color, religion, creed, sex, national origin, age, disability, veteran status, or sexual orientation is a violation of state and federal law and/or NC State University policy and will not be tolerated. Harassment of any person (either in the form of quid pro quo or creation of a hostile environment) based on race, color, religion, creed, sex, national origin, age, disability, veteran status, or sexual orientation also is a violation of state and federal law and/or NC State University policy and will not be tolerated. 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.

Trans-Inclusive Statement

In an effort to affirm and respect the identities of transgender students in the classroom and beyond, please contact me if you wish to be referred to using a name and/or pronouns other than what is listed in the student directory.

Supporting Fellow Students in Distress

As members of the NC State Wolfpack community, we each share a personal responsibility to express concern for one another and to ensure that this classroom and the campus as a whole remains a safe environment for learning. Occasionally, you may come across a fellow classmate whose personal behavior concerns or worries you. When this is the case, you are encouraged to report this behavior to the NC State CARES website. Although you can report anonymously, it is preferred that you share your contact information so they can follow-up with you personally.

Basic Needs Security

Any student who faces challenges securing their food or housing or has other severe adverse experiences and believes this may affect their performance in the course is encouraged to notify the professor if you are comfortable in doing so. Alternatively, you can contact the Division of Academic and Student Affairs to learn more about the Pack Essentials program https://dasa.ncsu.edu/pack-essentials/.

Course Evaluations

ClassEval is the end-of-semester survey for students to evaluate instruction of all university classes. The current survey is administered online and includes 12 closed-ended questions and 3 open-ended questions. Deans, department heads, and instructors may add a limited number of their own questions to these 15 common-core questions.

Each semester students’ responses are compiled into a ClassEval report for every instructor and class. Instructors use the evaluations to improve instruction and include them in their promotion and tenure dossiers, while department heads use them in annual reviews. The reports are included in instructors’ personnel files and are considered confidential.

Online class evaluations will be available for students to complete during the last two weeks of the semester for full semester courses and the last week of shorter sessions. Students will receive an email directing them to a website to complete class evaluations. These become unavailable at 8am on the first day of finals.

Syllabus Modification Statement

Our syllabus represents a flexible agreement. It outlines the topics we will cover and the order we will cover them in. 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.

Course Schedule

NOTE: The course schedule is listed on Moodle and GitHub pages is subject to change.