Course Syllabus

NC State - Fall ‘25 - CSC 116-001

Instructor Information

Dr. Caio Batista de Melo
[email protected]
242C 111 Lampe Drive
(919) 513-5049

Office Hours

All CSC116 office hours are listed in this calendar (must log into NCSU Google account). Along with attending the office hours of Dr. Batista and your section’s TAs, you may also attend the office hours of the other CSC116 TAs.

My Digital Hand (MDH) is used for all office hours: https://go.ncsu.edu/mdh. Join Code is listed in Moodle. MyDigitalHand (MDH) User Guide: Student.

Preferred Method of Communication

While instructor email address is provided for completeness, please use Ed Discussion Board and support list ([email protected]) for all course-related correspondence. This is to ensure that we can provide timely, high quality responses!

Response Time

Typically a member of the teaching staff will respond to an email or message board post 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.

Course Information

Course Website: https://wolfware.ncsu.edu/courses/my-wolfware/

Course Credit Hours: 3

Meeting Time

  • Section 001: Monday and Wednesday 08:30 AM - 10:20 PM in 200 111 Lampe Drive

Co-requisites

E 115 or COS 100 and MA 121 or MA 131 or MA 141

Course Overview

Catalog Description

An introductory course in computing in Java. Emphasis on algorithm development and problem solving. Careful and methodical development of Java applications from specifications; documentation and style; appropriate use of control structures; classes and methods; data types and data abstraction; object-oriented programming and design; software testing. Most seats reserved for Computer Science majors.

Structure

This semester we will be using Moodle. When you log into the Moodle system, this course section will be listed. All submissions will be within the Moodle system or GitHub as noted by the given assignment. The message board will be within Ed Discussion Board. To access ALL course information, use the following URL: https://wolfware.ncsu.edu.

We will meet as a class twice a week, 110 minutes each. These class periods will serve as either (1) interactice lectures, which will include peer instruction questions, live coding, and coding practice; or (2) in-class labs, during which time you will apply the concepts of the lectures.

Prior to each in-class lab, you will be expected to complete prep work for the lab, which will include reading resources. Outside of class you will also complete course projects.

Please plan and use your time wisely. Do NOT wait until the last minute to complete assignments!

Learning Outcomes

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

  1. apply classic problem-solving techniques to simple computational and information-management problems,
  2. evaluate an arithmetic expression using order of operations, promotion from integer to floating-point types, and integer division,
  3. use a programming language to write code that selects one of several alternatives based on more than one predicate,
  4. use a programming language to write a loop whose exit depends on more than one predicate,
  5. correct syntax errors and distinguish between them and runtime errors or errors in logic,
  6. find and correct logical programming errors using debugging printout, pencil-and-paper tracing, and systematic search (to locate where an incorrect decision or value first appears),
  7. verify and validate programs using unit (white-box) and system (black-box) testing,
  8. implement an object-oriented design that has at least two interacting, encapsulated classes,
  9. write and document programs that adhere to specific coding and documentation standards (e.g., javadoc for documentation; conventions regarding the naming of classes and methods, definition of constants, indention, etc.),
  10. use the Java system classes to do text-based input and output,
  11. construct and use arrays with one and two dimensions,
  12. use programming language constructs learned in the course to implement a fully-specified and fully-tested encapsulated system.

Course Materials

Required Textbook and Software

Technology Requirements

Hardware

NC State’s Office of Information Technology provides technology requirements and recommendations for computer hardware.

Software

Minimum Computer and Digital Literacy Skills

  • Obtain regular access to a reliable internet connection
  • Proficient typing and word processing skills (MS Word, text editors, Google Docs)
  • Ability to use online communication tools, such as email (create, send, receive, reply, print, send/receive attachments), and discussion boards (read, search, post, reply, follow threads)
  • Download and upload attachments
  • Knowledge of copy/paste and use of spell check
  • Use computer networks to locate and store files or data

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, TAs, 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 if applicable, your team) as soon as possible.

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

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

You should have the same tone of professionalism in all of your submitted work (e.g., code documentation, variable names, git commits).

Netiquette

The teaching staff looks forward to receiving emails and message board posts about any questions you have about the class, materials, exams, and exercises. 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 of “netiquette” 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 typically respond to an email or message board post 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 or schedule.
  • If the question is related to recent information, check previous emails and message board posts from the teaching staff.
  • If the question is project 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 and section in the subject line along with the subject of the message. For example: “CSC116-001 - Question about Project 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 “Hello Dr. Batista” or “Dr. Batista.” For emails to the support list, consider a salutation like “Hi 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.

For questions about exercise or project code, rather than attaching your code, please push code to assigned repo and include repo URL in your message.

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.

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.

Get Help Online

  • General Questions: If you have a general question about an exercise or project, post your question to Ed Discussion.
  • Code-Related Questions: If you have a question that is more specific or that involves snippets of code, make a private Ed Discussion post or email your question to the support list. Always push your code to assigned repo and include repo link with question.
  • Grade-Related Questions: If you have a question specific to you or your grade, email it to the support list for your section listed above.

Do NOT send private messages to a single member of the teaching staff via email or on Ed Discussion as the response may be delayed.

Grading

Grading Policy

Assignment Percentage
Exam 1 15%
Exam 2 15%
Final Exam 20%
Projects (6% each) 24%
Comprehensive Exercise and Presentation 5%
In-Class Exercises 21%

Note: For each assignment, you are not allowed to use more advanced features or concepts than what we have covered in class at the deadline. Using concepts not previously covered in the class will be considered an academic integrity violation.

In order to be eligible to receive a grade in CSC116, you must receive 100% on the Syllabus Review. Until the syllabus review deadline, you will have unlimited attempts to receive 100%.

  • All assignments count, nothing is dropped.
  • Assignments are due on the specified date/time in schedule.
  • Some exams will have extra points built in.
  • Other than the optional Growth Mindset reflections, no other extra credit assignments will be given.

Minimum Grade Requirements

In order to be eligible to receive a semester grade of C- or higher, you must have a weighted average of 65% or higher on the exams and a weighted average of 65% or higher on the four projects. Students failing to meet these requirements will receive a maximum grade of D in the course.

Note: You will need a C or better (X >= 72) to continue to CSC216.

Grading Scale

Semester grades will be assigned to students who meet the minimum grade requirements for the course as explained above using the following scale where X is your overall weighted grade accumulated on exercises, projects, comprehensive exercise, and exams. Grades will be rounded to the nearest tenth of a point to calculate the final grade. For example, with rounding to the nearest tenth of a point, the following grades would both round to 95.4: 95.38 and 95.41.

Range Grade
98.0 <= X <= 100.0 A+
92.0 <= X < 98.0 A
90.0 <= X < 92.0 A-
88.0 <= X < 90.0 B+
82.0 <= X < 88.0 B
80.0 <= X < 82.0 B-
78.0 <= X < 80.0 C+
72.0 <= X < 78.0 C
70 <= X < 72 C-
68.0 <= X < 70.0 D+
62.0 <= X < 68.0 D
60.0 <= X < 62.0 D-
X < 60.0 F

Credit Only Students

In order to receive a grade of S, students are required to take all exams, complete all projects, 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.

Course Schedule

Course schedule can be found here.

Please note: course schedule is subject to change.

Course Policies

Late Assignments

  • Projects
    • All projects are required to be submitted electronically by 11:45pm on the specified due date. Late submissions will be accepted for 24 hours after the original submission deadline. Work turned in late (1 minute to 24 hours late) will automatically lose 10 percent. Your last submission and submission time will be used for grading.
    • No work will be accepted after the late deadline or via email.
    • Project Late Penalty Waiver: Each student has ONE project late penalty waiver for the semester. The first project you submit late will have its penalty waived, you don’t need to submit anything.
  • Exercises
    • No late submissions will be allowed for exercises without university-approved documentation/justification.
  • Comprehensive Exercise
    • No late submissions will be allowed for the comprehensive exercise without university-approved documentation/justification.

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 https://policies.ncsu.edu/regulation/reg-02-50-03/.

Attendance and Participation

Attendance in lectures and lab is mandatory! Attendance is required by the university in 100 level courses. Additionally, attendance has been correlated with success in CSC116. Students must come to class on time and stay until the end of class. Any student who is doing anything other than participating in class (sleeping, checking email, messaging friends, playing games, watching videos, using phone, etc.) will NOT get credit for that day’s in-class exercises. If you have completed all of the exercises for the day, you may work individually on the current project, read the textbook or online Java tutorials, or work on extra problems.

If you miss a lab period, you will not be assigned a team repository. You will work alone on the lab exercise and must submit by the posted exercise deadline.

If you arrive more than 15 minutes late or leave more than 15 minutes early without permission from the instructor, you will be marked absent for the day.

A maximum of four class periods per semester may be missed due to absences—excused or unexcused. Any number of absences beyond four will only be allowed with special permission of the instructor.

Absence Penalties: If you miss more than four class periods during the semester, a two point penalty for each additional absence will be applied to your final semester grade.

All anticipated excused absences must be presented to the instructor no later than one week before the absence. All unanticipated absences must be reported as soon as possible, but no later than one week after the student’s return date.

Exam Makeup Policy

Makeups for Exam 1 and Exam 2 will only be given for:

  1. anticipated excused absences on exam days that are presented to the instructor no later than one week before the absence as makeup test will be scheduled prior to original test date. Examples include student is away from campus representing an official university function where documentation from University faculty or staff member is presented to instructor, religious observances as verified by the Division of Academic and Student Affairs, and required military duty as certified by the student’s commanding officer.
  2. unanticipated excused absences that are verified by Absence Verification (e.g., deaths, legal obligations, military duty, and serious illnesses like surgery and hospitalizations) within one week of the test period as makeup tests must be taken within a week of original test date.

For students who miss Exam 1 and/or Exam 2 for any other reason (unexcused absences or excused absences not verified by Absence Verification), then the portion of the Final Exam that covers missed test will count for the missed test; for example, if a student misses Exam 1 and scores 90 on the Exam 1 portion of the Final Exam, then their Exam 1 score would be 90.

For the Final Exam, all anticipated excused absences on assigned Final Exam days must be presented to the instructor no later than one week before the absence. Exam makeups for anticipated excused absences must be completed before the original exam time (before the absence instead of after returning from the absence). For unanticipated Final Exam absences the student must provide written documentation of an excused absence to the instructor before grades are due for the semester, then the student’s course grade will be recorded as IN (incomplete), and the student will need to complete the final exam within 1 week of returning from the absence. For unexcused absence during Final Exam period, Final Exam grade will be recorded as a 0.

Final exam reschedule requests (due to other exam conflicts) must be approved by the university and communicated with the instructor at least 1 week before the scheduled final exam start time. If you have a conflict with your final exam schedule (e.g., three or more consecutively scheduled final examinations within any 24-hour period), you can access the Exam Reschedule tool in MyPack by navigating through the Planning & Enrollment tile.

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

Withdrawal Process: https://studentservices.ncsu.edu/your-classes/withdrawal/process/

Exam Policy

You will have the opportunity to improve your Exam 1 and Exam 2 grades during the Final Exam. The final exam will be cumulative and cover materials from the whole semester. The Final Exam will have three parts:

  • Part 1 questions cover materials from Exam 1
  • Part 2 questions cover materials from Exam 2
  • Part 3 questions cover materials covered between Exam 2 and the end of the semester

If your score for Final Exam Part 1 questions is higher than your original Exam 1 grade, we will replace your Exam 1 grade with the average of your score from Part 1 questions and your original Exam 1 score.

If your score for Final Exam Part 2 questions is higher than your original Exam 2 grade, we will replace your Exam 2 grade with the average of your score from Part 2 questions and your original Exam 2 score.

Use of AI Tools

This course requires you to complete various assignments that assess your understanding and application of the course content. You are expected to do your own work and cite any sources you use properly. You are not allowed to use any artificial intelligence (AI) tools, such as chatbots, text generators, paraphrasers, summarizers, or solvers, to complete any part of your assignments. Any attempt to use these tools will be considered academic misconduct and will be dealt with according to the university’s academic integrity policy. Students are expected to complete all work independently and without the assistance of AI-generated content. If you have any questions about what constitutes acceptable use of AI tools, please consult with the instructor before submitting your work.

University Policies

Academic Integrity and Honesty

Students are required to comply with the university policy on academic integrity found in the Code of Student Conduct. Therefore, students are required to uphold the university pledge of honor and exercise honesty in completing any assignment.

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.

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.

Your signature/name (written or electronic) on any exam or assignment indicates: “I have neither given nor received unauthorized aid on this exam or assignment.”

See full CSC116 Academic Integrity Policy below.

NC State University Policies, Regulations, and Rules (PRR)

Students are responsible for reviewing the NC State University Policies, Regulations, and Rules (PRR) which pertains to their course rights and responsibilities:

Accessing University Resources

There are additional links to student services available to you in the Student Services block located in the block drawer on the right side of the course site. These services include: Academic Support, community, health and wellness, basic needs, financial assistance, and other campus resources. To open the block drawer click on the button that looks like an arrowhead on the right side of the main course page. You can close the block drawer by clicking on the X.

Disability Services

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)

Remember, accommodations are not retroactive and may take time to be implemented, so be sure to send your letters as early in the semester as possible. Students registered with Disability Resource Office should present their letters of accommodations to the instructor prior to the end of the first week of classes. In addition to having letter sent to instructor, students should discuss accommodations with instructor.

For Testing Accommodations, the DRO provides limited proctoring services. As reservations fill quickly, students should make exam reservations as soon as possible based on course schedule.

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.

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

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 NC State Cares. Although you can report anonymously, it is preferred that you share your contact information so they can follow-up with you personally.

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.

Please complete your evaluations to help us improve this course!

Assignments

Deadlines

Count on last minute system failures, power outages, laptop issues, internet connectivity issues, etc. Make sure you are backing-up your work and frequently pushing to your remote NCSU GitHub repository so that you are able to at least receive partial credit. A broken computer, power outage, etc. are not acceptable excuses for requesting extensions on assignment deadlines!

Submit early! For GitHub assignments, push early and push often.

Grade Appeals

If at any time you feel an assignment was graded improperly, write a request for regrade and explain why you believe the assignment was graded improperly. For assignments that feedback is returned within gradescope, the regrade requests will be completed within gradescope. For assignments that feedback is returned within Moodle, you must submit regrade request through the regrade request form. All regrade requests must be submitted electronically no later than 1 week after the assignment was returned to you! Assignments returned within one week of the final exam must have all regrade requests submitted by the start of the final exam.

Projects

There are four programming projects this semester. These projects will be submitted electronically by the due date. All programs are to be completed using Java 21 Development Kit. Install instructions can be found here.

All project programs are to be your OWN work. This means that all projects must be independent and individual creations by you. Please cite any approved sources (textbook, TA, course code) that you received help/inspiration from. DO NOT copy code and DO NOT use any external resources. If you have any questions about how you may use a resource see the instructor or TAs. Additionally, make sure you follow the Academic Integrity guidelines. Each project requires an Academic Integrity Contract to be submitted in order for the project to be graded.

Check the schedule for project due dates.

In-class Exercises

During the semester, you will submit the following types of in-class exercises:

  • Lab Exercises (10 labs, 1% each): During each lab period, you will complete in-class lab exercises. These exercises will be applications of the new course concepts. These exercises will be used to assess how well you understand the new material. Exercises will be graded based on style, Javadoc, and testing along with completion of journal and reflections. You will be allowed to work in groups, assigned by the instructor, for lab exercises. If you are absent from class, you will complete lab exercise on your own. Lab exercises will generally be due at 8am of the next lab day.

  • Post-Lab Checks (8 checks, 1% each): During some class periods, you will complete knowledge checks, which will be given on paper and will be closed book/notes/resources. For these knowledge checks, each student will work alone. If you are absent from class, you will not be able to complete the knowledge checks. Check the schedule for dates of the post-lab checks.

  • Peer-Instruction Questions (2%): During interactive lectures, we will generally have a few peer instruction questions to make sure you understand the material. These questions are done through tophat, and are graded on participation. So as long as you submit an answer, you will get full credit for that question.

  • Codecheck Practice (1%): During interactice lectures, we will sometimes have breaks where you will work on coding problems on codecheck. The links for the problems will be available on Moodle. For codecheck, you will be graded on accuracy, meaning that you need to get the correct answer. However, you will be able to submit as many times as you wish, and the system will show you whether you have gotten the correct answer or not. Additionally, while you’re working on these problems, the teaching staff will be walking around the room to help answer any questions you may have.

Comprehensive Exercise and Presentation

You will work in an instructor-assigned group to complete a comprehensive exercise at the end of the semester. Each group will present its work to the class. The presentation and exercise will be due the last week of classes. No late submissions will be allowed for the comprehensive exercise.

Since attendance in CSC116 is required, you are expected to attend all four days of class to work with your team and present your work.

  • Students who do not attend Day 1 will receive a 33% deduction in their Comprehensive Exercise grade.
  • Students who do not attend Day 2 will receive a 33% deduction in their Comprehensive Exercise grade.
  • Day 3 will be held on Zoom and attendance is not mandatory; however, you and your group are still expected to work as much as regular days.
  • Students who do not attend Day 4 to present and demo their work with their team will receive a 0 for the Comprehensive Exercise.

Rules of Interactions for Group Work

  • Be respectful!
  • Listen to everyone.
  • Do not interrupt one another.
  • Signal when you are done with a thought.
  • Take turns as driver and navigator. (Enforce time.) When you are the navigator, verbalize what the driver is doing.
  • Be present. Be on task. Put your phone away.

Exams

There will be three exams in this course for a total of 50% of your semester grade. Each exam will cover all materials (readings, labs, and lectures). The final exam will be cumulative. See Makeup Policy and Exam Policy above.

Mindsets for Computer Science

The Mindsets for Computer Science series consists of five video lessons that present both theory and specific strategies about what it takes to be successful in Computer Science–both in this course and in CS in general. You will learn about the theory of Mindsets: Growth and Fixed, how your brain changes when it learns something new, and how having a Growth Mindset will make you more successful in your coursework. At the end of each video lesson, there is a short reflection activity. The reflection activities provide you with an opportunity to earn extra credit on your semester grade. The max extra credit on your semester grade is 0.5 point with a max of 0.1 point for each reflection. You must complete at least four reflection activities in order to be eligible for the associated extra credit. The reflection deadlines are spread across the semester such that a reflection activity opens after the previous reflection activity closes.

While 0.5 point on your semester grade may not sound like much, it can change your letter grade for the semester. I will not offer other extra credit opportunities. If you want to be eligible for this extra credit, you must plan ahead and submit reflection activities during the activity windows throughout the semester.

All students can benefit from the content of the growth mindset videos. I highly recommend watching the videos even if you choose not to complete the reflection activities.

Academic Integrity

Violations of academic integrity will be handled in accordance with the Student Discipline Procedures (NCSU REG 11.35.02).

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!1 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?

All cases of academic misconduct will result in a grade sanction:

  • the minimum grade sanction for academic misconduct is no credit for the assignment (the assignment grade will be recorded as 0), and
  • the maximum grade sanction for academic misconduct is no credit for the course (resulting in an F as the final semester grade on the student’s transcript), making the course ineligible for Grade Exclusion under University Regulation 02.20.16.

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

Academic misconduct that involves unauthorized assistance or collaboration (e.g., sharing course materials, assignment solutions, and/or assignment deliverables that were produced while enrolled as a student in CSC116; providing unauthorized assistance to currently-enrolled students as they complete course assignments; etc.) will result in a grade sanction of no credit for the course, even if the behavior of academic misconduct occurred when the student is not currently enrolled in the course.

Resources you ARE Allowed to Use in CSC116

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:

  • CSC116 instructors,
  • CSC116 TAs, and
  • for lab exercises, you may work with your assigned teammates.

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 in CSC116

  • You MAY NOT receive help from anyone or anything else that is not in the list of approved resources (above).
  • You MAY NOT use AI tools or services, like ChatGPT or GitHub CoPilot, to generate partial or complete solutions to assessments in the class. AI tools and services should not be used as a starting point that you will then edit. The use of these services are prohibited for assessed work in this class.
  • 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 in CSC116

Note: this list is not exhaustive.

  • It is unauthorized assistance or collaboration 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 unauthorized assistance or collaboration 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 CSC116 assignments posted to sites (such as 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 unauthorized assistance or collaboration 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 unauthorized assistance or collaboration 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 unauthorized assistance or collaboration 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 exercises).
  • 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 unauthorized assistance or collaboration to leave your computer unlocked and/or unattended (whether intentional or accidental) such that others could access your assignments.
  • It is cheating to use AI tools or services, like ChatGPT or GitHub CoPilot, to generate partial or complete solutions to assessments in the class.
  • It is cheating to use more advanced features or concepts than what we have covered in class at an assignment deadline.

Examples of NOT Cheating in CSC116

Note: 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 assigned teammates wrote as part of assigned lab exeDr. Batista*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

/* Citing Help from another Person: (In method or class level comments)
 * I received help from Dr. Batista on DATE during his 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 and 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 (assignment requirements and design) are the intellectual property of the instructors and the university. You may not post any assignment artifacts (including assignment descriptions), assignment solutions, lecture videos, or lecture notes to a publicly accessible website or public code repository during or after the semester.

We understand that some companies like to review student code artifacts as part of a hiring process. You may use CSC116 materials for this code portfolio 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.

Syllabus Modification Statement

The Course Instructor reserves the right to change or add to any of these policies at any time for any reason. If such activity occurs, there will be notification through the normal announcement channel for the course. Students are responsible for ALL information sent through email (including via Ed Discussion Board) and/or posted to the course Moodle site.

Not reading your email is not an excuse for not knowing course information.

Footnotes


  1. All code submitted for CSC116 should be written by you THIS semester. If you are retaking the course, you should not submit code that you wrote prior to the start of this semester. Similarly, any non-coding assignments should have been created by you THIS semester. ↩︎