Table of Contents
CSC 4103: Individual Assignments
Here is a list of the course assignments:
When due | Individual Assignment |
---|---|
Monday, January 27 | Welcome to CSC4103! |
Monday, February 24 | Lists of Things |
Monday, April 7 | Writing a Shell |
Friday, May 2 | HTTP Server |
In addition to the individual assignments, we will we will ask you to work on a set of projects. For more information on those, please see the corresponding page.
Programming is a skill best learned by doing, and the programming assignments in CSC4103 form the central skill development part of your experience in the course. We have a great set of assignments and projects planned that we hope you will find fun, challenging, illuminating, and rewarding!
All assignments are individual assignments. No collaboration on the submitted files is allowed.
Cheating and Collaboration
This class has zero tolerance for cheating. We will run tools to check your submissions against a comprehensive database of solutions including past and present submissions for potential cheating. The consequences are very high. So do not cheat, do not cheat, do not cheat!
The basic policies for the assignments are as follows:
- Never copy assignment code or text found on the Internet, e.g., GitHub.
- Never share code or text on the assignment. That also means do not make your solutions public on the Internet.
- Never use others’ code or text in your solutions. This includes code/text from prior years or other institutions.
- You may read but not copy Linux or BSD source code. You must cite any document or code that inspired your code. As long as you cite what you used, it’s not cheating. In the worst case, we deduct points if it undermines the assignment.
On the other hand, we encourage collaboration in the following form:
- Explain a concept to another student, or ask another student to explain a concept to you.
- Discuss algorithms or approaches for an exercise. But you should not exchange, look at, or copy each other’s code.
- Discuss testing strategies and approaches.
- Help someone else debug if they’ve got stuck. But you should not give that student code solution.
The course staff will actively detect possible ethics violations. For each project submission, we will run automated cheating detection tools to check your submission against a comprehensive database of solutions including solutions on the Internet, past submissions, and solutions from other institutions.
Common questions about assignments
-
What is the development environment for the assignments?
In CSC4103, we write programs in the C language and use the Visual Studio Code IDE for editing, compiling, and debugging. Visit the Installation Guide for instructions on installing these tools on your computer.
-
What is the expected assignment workload?
There are up to four assignments, you typically will have two to three weeks to work on each. Students self-report spending between 5 and 10 hours on each assignment. If you find yourself consistently beyond the upper end of the range, please reach out to us. Our workload is challenging because we want to foster the most growth possible for you in our 14 weeks together, but we do want the total hours to stay within reason for a 3-credit course and can help find a strategy that works for you.
-
What is the policy on late assignments?
Students are granted a short grace period where we will accept late submissions without penalty. Read our course late policy for the details.
-
What is the assignment collaboration policy?
Since this is essentially a beginning writing course, but writing code instead of essays, our policy is that the assignments are written individually (no partners/groups). Our semester projects is team-based, and we strongly believe in the value of that – but only after programmers have developed their individual skills in the fundamentals. Please review the LSU Code of Student Conduct for general guidelines.
-
How can we get help on our assignments?
Ask on our online Discord discussion forum and/or attend office hours. The forum is open 24/7 for discussion with your peers, and quick (though not 24/7, we do sleep!) answers from course staff. The instructor and TAs are available to answer questions after lecture and in weekly office hours.
-
How are assignments evaluated?
Programs will be evaluated on “functionality” (is the program’s behavior correct?) and “style” (is the code well written and elegant?). All assignments are constructed such that you as a student will prove the correctness of your code by writing tests that are being automatically run on each submission to Github. Each submission will receive a detailed report on what parts were graded how and why.
-
How do we receive feedback from our grader?
You can view your submission on your github assignment repository with comments and annotations from your grader along with the scores for functionality and style. For some assignments, you will also meet with your TAs to discuss the grading feedback in a short “interactive grading” conference.