Course syllabus
CSC 131 – Introduction to Computer Science
Course Syllabus - Spring 2025
"This syllabus is subject to change, but only with sufficient notification."
Welcome to Dr. Elder’s Introduction to Computer Science class! This course will focus on problem-solving methods and algorithms in a modern high-level programming language. This course introduces one or more programming environments. The emphasis is on a programming style and the design, coding, and testing of complete programs. This course is recommended primarily for computer science majors. The students who successfully complete this course will:
- Demonstrate an understanding of basic programming concepts including data types, variables, modularity, parameters, conditional statements, iteration, and arrays.
- Demonstrate program development techniques to describe and understand the problem statement, think through input/process/output, leading to problem representation, and finally coding.
- Demonstrate the ability to use program control structures (i.e., iteration, conditionals).
- Develop and use algorithms to solve a variety of problems, for instance, those related to array processing, statistical calculations, image and audio processing, and text processing.
- Practice modular programming by developing, debugging, and integrating modules into a larger program.
- Demonstrate the ability to use programming language-specific software libraries.
- Demonstrate the ability to use basic file input and output.
- Demonstrate the ability to use software development tools from the command line to compile and run commands to an integrated development environment.
Syllabus based on material from Dr. Elham Ebrahimi and Dr. John Lynden
What else do I need to know about this course? A grade of ‘C’ (2.00) or better is required for taking any course for which CSC 131 is a prerequisite. Prerequisites: MAT 112, or MAT 150, or MAT 160. |
What do I do when I need help? If you need help, talk to me or shoot me an email. I will do all I can to help you understand the materials.
|
How to contact Dr. Elder? E-mail: elders@uncw.edu Office hours: Tuesdays, 2-3PM, Wednesdays and Thursdays, 10AM - 11AM or by appointment Class Location/Time: Mondays and Wednesdays: CG 2006 || 8 AM - 9:40 AM Office Location: CG 2048 Office hours/Student sessions Link: Please email for the link You can email me anytime, but I respond to emails from 8 am to 4 pm on weekdays. I will attempt to respond to all emails within 1-2 business days. All the emails regarding CSC131 must be in the following format; otherwise, I might not open them in time: CSC131 – your title For example "CSC131 – Lab 2" |
Textbook
- The Absolute Beginner's Guide to Python is available in both physical and electronic form. While the readings are required, purchasing the book is not since an electronic copy is available to UNCW students via Percipio https://share.percipio.com/cd/O2pIZWh3W
- The textbook may be supplemented by other readings for some topics
Course Set-up
Please follow the instructions below and download Python on your personal computer (if you wish to use your machine) before the first session.
Downloading Python |
Follow the steps in the following link |
Download and install Python 3.12.x from |
Other Resources (More resources will be posted in different modules as well)
- CS Circle
- https://docs.python.org/3/
- http://pythontutor.com/
- The search engine of your choice
- ...
Special Needs
If you have a disability and need reasonable accommodation in this course, you should inform the instructor of this fact, in writing, within the first week of class or as soon as possible. If you have not already done so, you must register in the Office of Disability Services in DePaolo Hall (ext. 2-3746) and obtain a copy of your Accommodation Letter. You should then arrange a meeting to make mutually agreeable arrangements based on the recommendations of the Accommodation Letter. If you require accommodation for tests or exams, at least a week prior to any test or exam, you should work with the instructor and the Office of Disability Services to arrange for mutually agreed arrangement accommodation.
Academic Integrity
University Policy on academic integrity will be followed for this course. Cheating will be taken very seriously, resulting in harsh penalties. Since the skills required in this class are also required in the next class, cheating will seriously hamper your ability to pass the next class. Please refer to this page for more information about the University policies.
Any dissemination of class notes, lecture slides, recordings, handouts, copies of exams, or any other course materials without permission of the instructor is prohibited by UNCW policy. UNCW Copyright Use and Ownership Policy (http://www.uncw.edu/policies/documents/01210.copyrightpolicy.pdf) specifies that class notes and related materials are considered derivative of the original intellectual property of the course instructor. Therefore, the instructor (not the student) owns the copyright and must provide specific permission to distribute and/or reuse those materials for anything other than personal use and scholarship by the student. Commercial use, display, or dissemination of such notes, copies, or recordings—as well as posting to websites--will generally constitute an infringement of copyright and the Honor Code. Materials that qualify as student-owned are listed in the policy.
As stated in the UNCW Academic Honor Policy:
"The University of North Carolina Wilmington is a community of high academic standards where academic integrity is valued. UNCW students are committed to honesty and truthfulness in academic inquiry and in the pursuit of knowledge. This commitment begins when new students matriculate at UNCW, continues as they create work of the highest quality while part of the university community, and endures as a core value throughout their lives."
Please Note:
"It is the responsibility of every faculty member, student, administrator and staff member of the university community to uphold and maintain the highest academic standards and integrity of the university. Any member of the university community who has reasonable grounds to believe that an infraction of the Honor Code has occurred has an obligation to report the alleged violation to the faculty member teaching the class who, in turn, must report the allegation to the Office of the Dean of Students. This obligation is a core value of the Honor Code, and must be fulfilled by each and every member of the university."
Grading
A modified 10-point scale will be used to compute your course grade. Pluses and minuses will be assigned based on the following chart.
The Canvas grade calculation is only accurate when all the grades are entered. During the semester, only a portion of the grades is entered into your grade book based on the completed tests and assignments, which means the grade book is NOT an accurate reflection of your standing in the class. You can always calculate your standing in the class using the table below based on the grades you entered. Please let me know if you need help calculating your current/actual grade during the semester.
Grade |
Percentage |
A | 93-100 |
A- | 90-92.99 |
B+ | 87-89.99 |
B | 83-86.99 |
B- | 80-82.99 |
C+ | 77-79.99 |
C | 73-76.99 |
C- | 70-72.99 |
D+ | 67-69.99 |
D | 63-66.99 |
D- | 60-62.99 |
F | Below 60 |
Grade Distribution
Course assignments will contribute to the grade as follows:
Assignment Category | % of Total |
CS Circles | 5% |
Programming Assignments | 30% |
Quizzes | 5% |
Test 1 | 15% |
Test 2 | 20% |
Final Exam | 25% |
Regrade Requests
The teaching staff is human! We will sometimes make mistakes! There are three policies to bear in mind when submitting a regrade request.
- We reserve the right to correct the grade in either direction (a regrade request can result in a deduction of points, if we determine that we awarded to many points rather than too few).
- The third (and higher) regrade request(s) which results in an equivalent or lower grade being assigned will also receive a 10 point (1 full letter grade) deduction.
- Regrade requests must be initialized within 2 weeks of receiving the grade, and prior to the end of the semester
Code that Does Not Run will Receive an F
If the assignment involves turning in a python script, if that script does not run – you can receive at most 59% on the assignment (Unless otherwise specified)
Development Environment - IDLE
While you may use other IDEs for development purposes, your Lab assignments will be expected to run in IDLE, and IDLE will be the only development environment allowed for use on exams. If the code does not work properly in IDLE, it will receive a lower score.
Attendance:
Please do not come to class when you are not feeling well or are experiencing any COVID-19 symptoms. If you have been exposed to COVID-19 or are concerned about exposure, please contact the Student Health Center at (910) 962-3280 for specific information about testing, contact tracing and quarantine/isolation requirements, which differ for vaccinated and non-vaccinated individuals, according to CDC guidance. Remember, keeping healthy is essential to keeping campus open! Thank you for your help and compliance.
I will take attendance throughout the semester as required by school policy. Attendance will NOT be included in your grade.
However, I will ONLY provide extensions and/or make-up work for excused absences. The excuse must be documented.
You will have one (1) token which you can use for a resubmission or late submission of a programming assignment or CS Circle assignment, no questions asked, which you can use for these assignments when the reason for the absence cannot be easily documented. The token CANNOT be used for quizzes and tests.
Anticipated Absences. Anticipated absences should be reported to the instructor at least seven days before the absence is scheduled. Situations in which an instructor is encouraged to approve a documented anticipated absence include:
- Attendance at university-sponsored activities in which the student is representing UNCW, e.g., a professional meeting in which the student presents his or her research, required varsity athletic events for team members, or required events for SGA officers. Instructors may require the student’s participation certification from the administrator in charge of the activity. Absences for university-affiliated, but not directly sponsored, activities (such as a club or Greek life events) do not qualify under this policy.
- Required court attendance as certified by the Clerk of Court.
- Required military duty as certified by the student’s commanding officer.
Unanticipated Absences. Students are encouraged to communicate with instructors promptly after unanticipated absences from class. Each faculty member determines how to treat such absences but typically will excuse absences due to health emergencies, death in the family, or a comparable emergency when supported by verifying documentation from the student.
Lab Assignments, Quizzes, and CS Circle
- All homework must be YOUR OWN INDIVIDUAL WORK.
- You may be asked to explain any code you submit as a part of the assignment. Adequate explanations are an important skill that can be developed only by practice.
- Some programming assignments/labs may carry more weight than others. The instructor will provide adequate instruction on how to complete each assignment.
- Lab/Programming assignments are typically completed during the lab sections at the end of the class on Mondays and Wednesdays. For a few labs, up to a few hours' extension will be provided, which will be announced either on Canvas or in class.
- There are NO make-ups for lab assignments, CS Circles, or Quizzes due to unexcused absences
- You have only ONE token to use on a lab of your choice for late submission or resubmission, no questions asked.
- Make-ups for excused absences will be handled on a case-by-case basis and must be completed within 1 week of the original assignment (exceptions will be made for extenuating circumstances)
Classroom Etiquette
- Make sure to turn off any ring-tones and other audible alerts before class beings
- Digital devices in class should not be used for any non-course related activities such as texting, emailing, using social-networking applications and sites, playing games, etc.
- If your behavior in class is distracting other students and that behavior can be reasonably changed, I will ask you to stop distracting other students.
Collaboration
Appropriate Collaboration
Programming does not happen in a vacuum! There are instances where collaboration is appropriate. These include:
- Sharing class notes with another student
- Discussing anything that was covered in class
- Sharing code with students with whom you have been specifically asked (by the instructor) to complete a specific assignment for pair-programming or group assignments
- Helping a fellow student locate a mistake ("bug") in their program, provided that you never type or dictate code for any student with whom you are not assigned to work on the exercise. You may not solve large parts of the programming problem for him/her
Inappropriate Collaboration
You will not learn the topic as well if someone else is doing your work for you! Inappropriate Collaboration is considered cheating and will be reported as an Academic Integrity Violation.
- Copying code from another student
- Showing another student your code when the other student has not completed the assignment and whom you are not assigned to work with on the assignment (even if you worked with them on a previous assignment)
- Verbally providing other students with the solution to the program
- Helping other student(s) during a test or quiz
- Doing another student's work
Asking for help
You may ask for debugging help from your instructor or TA. Debugging is an important skill that can only be developed by practice. It is crucial (if painful) for you to learn how to struggle through problems on your own. If you are genuinely stuck, we are happy to help you as far as your code aligns with the techniques described in class. If you write your program with an approach that is a complete departure from the way described in class, we are less able to provide assistance.
AI/GenAI
Use of Generative AI (GenAI) tools such as ChatGPT on exams and quizzes is STRICTLY PROHIBITED. Consequently, using GenAI on any of your assignments is strongly discouraged. If I determine that you have used GenAI or otherwise cheated on a quiz or exam, you will receive an F in the course, and I will file an Academic Integrity violation report.
Ultimately, using GenAI incorrectly or committing any other academic integrity violation will hurt you far more than it will hurt me. At a minimum, if you do not adequately learn the material - you will struggle in future courses for which CSC 131 is a pre-requisite.
Code Similarity Score (e.g. MOSS)
All programming assignments (including labs and tests) may be run through a Code Similarity Score algorithm such as MOSS to detect collusion or other Academic Integrity violations.
External Libraries (Security Issue)
Unless otherwise specified, do NOT use ANY packages outside the Python Standard Library. E.g. the Math and Turtle Graphics packages are fine, the Pillow package is NOT.
Title IX
UNCW takes all forms of interpersonal violence very seriously. When students disclose, first- or third-hand, to faculty or staff about sexual misconduct, domestic violence, dating violence and/or stalking, this information must be reported to the administration in order to ensure that students' rights are protected, appropriate resources are offered, and the need for further investigation is explored to maintain campus safety.
There are three confidential resources who do not need to report interpersonal violence: UNCW CARE, the Student Health Center, and the Counseling Center. If you want to speak to someone in confidence, these resources are available including CARE's 24-hour crisis line (910-512-4821). For more information, please visit http://uncw.edu/titleix/policies/index.html or www.uncw.edu/care