COP-3223H Honors Introduction to Programming with C
Syllabus
Table of Contents
Course Details
| Course | COP 3223C - 0201 Honors Introduction to Programming with C (aka COP-3223H) |
| School | University of Central Florida |
| Semester | Fall 2026 |
| Section | 0201 |
| Lectures | Mondays, Wednesdays, and Fridays, 09:30–10:20, 01/12–04/27 (inclusive) |
| Location | VAB-0109 |
| Final | Friday, 05/01, 09:00–09:50 |
| Instructor | Paul Gazzillo paul.gazzillo@ucf.edu |
Prerequisites
- Complete all of the following:
- Complete 1 of the following
- Earn a minimum grade of C in each of the following:
- COP2500C - Concepts in Computer Science (3)
- Earn a score of 3 or higher on the AP Computer Science A Exam
- Earn an appropriate score on the UCF Computer Science Placement Test
- Earn a minimum grade of C in each of the following:
- Permission of The Burnett Honors College
- Complete 1 of the following
Office hours
| Date | Day | Time | Location |
|---|---|---|---|
| 01/19–05/01 | Monday | 10:20–11:00 | HEC-239 |
| 01/19–05/01 | Wednesday | 10:20–11:00 | HEC-239 |
| 01/19–05/01 | Friday | 10:20–11:00 | HEC-239 |
Office hours will not be held on days on when there are no classes or campus is closed.
Schedule
| Week | Date | # | Topic | HW | Tools | Programs | Project |
|---|---|---|---|---|---|---|---|
| 1 | 01/12 | 1 | Introduction | hw1 | |||
| 01/14 | 2 | Mental Model | hw2 | ||||
| 01/16 | 3 | hw3 | |||||
| 2 | 01/19 | (no class) | |||||
| 01/21 | 4 | Programming Environment | hw4 | git | |||
| 01/23 | 5 | hw5 | |||||
| 3 | 01/26 | 6 | hw6 | due(git) | |||
| 01/28 | 7 | Output, Input, Arithmetic | hw7 | hello | |||
| 01/30 | 8 | hw8 | |||||
| 4 | 02/02 | 9 | hw9 | due(hello) | arithmetic | ||
| 02/04 | 10 | Conditionals | hw10 | ||||
| 02/06 | 11 | hw11 | |||||
| 5 | 02/09 | 12 | hw12 | due(arithmetic) | |||
| 02/11 | 13 | none | conditional | ||||
| 02/13 | Exam | ||||||
| 6 | 02/16 | 14 | Loops (While) | hw14 | |||
| 02/18 | 15 | hw15 | due(conditionals) | ||||
| 02/20 | 16 | hw16 | while | ||||
| 7 | 02/23 | 17 | Switch Statements | hw17 | |||
| 02/25 | 18 | Arrays and For Loops | hw18 | ||||
| 02/27 | 19 | hw19 | due(while) | ||||
| 8 | 03/02 | 20 | hw20 | ||||
| 03/04 | 21 | hw21 | for | ||||
| 03/06 | 22 | Strings | hw22 | ||||
| 9 | 03/09 | 23 | State Machines | hw23 | |||
| 03/11 | 24 | none | state, due(for) | propose | |||
| 03/13 | Exam | ||||||
| 10 | 03/16 | (no class) | |||||
| 03/18 | (no class) | ||||||
| 03/20 | (no class) | ||||||
| 11 | 03/23 | 25 | Full Game | hw25 | due(propose) | ||
| 03/25 | 26 | hw26 | |||||
| 03/27 | 27 | hw27 | due(state) | start | |||
| 12 | 03/30 | 28 | hw28 | ||||
| 04/01 | 29 | Structs | hw29 | ||||
| 04/03 | 30 | Functions | hw30 | ||||
| 13 | 04/06 | 31 | hw31 | function | |||
| 04/08 | 32 | Recursion | hw32 | ||||
| 04/10 | 33 | hw33 | check-in | ||||
| 14 | 04/13 | 34 | hw34 | recursion, due(function) | |||
| 04/15 | 35 | Pointers | hw35 | ||||
| 04/17 | 36 | hw36 | |||||
| 15 | 04/20 | 37 | hw37 | pointers, due(recursion) | |||
| 04/22 | 38 | hw38 | |||||
| 04/24 | 39 | Source Code to Machine Code | none | due | |||
| 16 | 04/27 | 40 | none | due(pointers) | |||
| 05/01 | Final Exam (09:00–09:50) | resubmission due |
Assignments
Categories
| Category | Count | Dropped | Graded | Points per Assignment | Total Points |
|---|---|---|---|---|---|
| Homework | 36 | 4 | 32 | 0.5 | 16 |
| Tools | 2 | 0 | 2 | 2 | 4 |
| Programs | 8 | 0 | 8 | 4 | 32 |
| Project | 1 | 0 | 1 | 16 | 16 |
| Exams | 3 | 0 | 3 | 8 | 24 |
| Attendance | 44 | 4 | 40 | 0.2 | 8 |
| TOTAL | 100 |
All assignments are individual assignments. Please see Core Policy Statements for policies about academic integrity.
Late policy summary
| Category | Policy |
|---|---|
| Homework | No late submission unless excused; 4 of 36 homeworks dropped |
| Tools | Resubmission up to three lectures after grading with no penalty |
| Programs | (Re)submission up to six lecture days (or final exam day if earlier) after grading with 1pt penalty |
| Project | Fix and regrade by final exam day after initial grade |
| Exams | Not cumulative; rescheduled with excuse |
| Attendance | Attendance required unless excused, 4 of 44 attendances dropped |
Excused late submissions accepted per UCF policies on excused absences and missed coursework. Please see Core Policy Statements for policies about missed coursework.
Homework
- Due before the following lecture (except the first homework, which is due Friday to satisfy academic engagement requirement).
- If an exam or exam review is the next class, then the due date is the following regular lecture.
- Submit via webcourses.
- Graded for genuine effort and responsiveness, not perfect accuracy.
- Homework answers are reviewed in the following lecture, so late homework receives 0pt.
- Some homeworks dropped
Tools
- Due on the date in the schedule by the end of day local time, i.e., 11:59 PM
- Tool assignments are simple tasks that illustrate tooling needed for class
- Tool assignments can only be resubmitted up to three lecture days late as these provide core competencies needed for the class after the exercise
- Students should submit by the initial deadline in order to be able to resubmit to improve the grade
- Three lecture days typically means one week, since there are three lectures per week and all assignments are due on lecture days.
- When a following lecture day is a break, skip to the next lecture day to continuing counting.
- Submit via git on eustis
Programs
- Due on the date in the schedule by the end of day local time, i.e., 11:59 PM
- Projects can be submitted or resubmitted up to six lecture days (or final exam day if it is earlier) after grading for a one-time late penalty of 1pt deduction (per project).
- Submit via git on eustis.
Project
- Due on the date in the schedule by the end of day local time, i.e., 11:59 PM
- The project can be resubmitted by final exam day after initial grading.
- Submit via git on eustis.
Exams
- In-person exams taken on paper
- Material from homework, projects, and lectures
- Exams are not cumulative, except where prior concepts are used to present recent concepts, e.g., using printf in questions about strings
- Two pages (four sides) of notes may be brought for the exam. The notes should be reasonably-sized and visible.
- First two exams held during class
- Third exam held during finals week
Attendance
- Attendance is required and part of the grade except when excused per university policy.
- Some attendances are dropped
- Notify instructor about excused absences
Letter Grades
A >= 90%, B+ >= 87%, B >= 80%, C+ >= 77%, C >= 70%, D >= 60%, F < 60%. (minuses may be used in some cases)
Logistics
| What | Where |
|---|---|
| Syllabus | Website |
| Lecture notes, videos | Website |
| Homework assignments | Website |
| Project descriptions | Website |
| Project implementation | eustis |
| Project submission | git server |
| Homework submission | Webcourses |
| Exams | Webcourses |
| Questions and discussion | Ed Discussion |
| Attendance | UCF Here |
Computing Requirements
All students will need access to a computer that can connect to eustis to complete course assignments. For students without their own device, UCF provides both computer labs and loaner devices at no additional cost.
Inexpensive laptops (less than $100) can run a Linux-based OS efficiently. Chromebooks are often very cheap and can use the Chrome Secure Shell Extension to connect to eustis.
eustis
| SSH Server | Username | Password |
|---|---|---|
| eustis.eecs.ucf.edu | Your NID (ab123456) | Your NID password |
Connect to eustis via ssh:
ssh NID@eustis.eecs.ucf.edu
where NID is your UCF NID, e.g., ab123456.
Do not use eustis3 as you won't be able to access the git server.
- Enter your NID password. Alternatively, setup an ssh key.
Off Campus Access
Eustis is only accessible on campus or via VPN.
Please visit https://secure.vpn.ucf.edu to get started.
External guides
(Links are for informational purposes only and their inclusion is not an endorsement of their content.)
- Guides to connecting to an SSH server:
- Guides to connecting to eustis:
- Setting up an SSH key
Virtual machine alternative
- Use docker or vagrant/virtualbox
- eustis OS is Ubuntu 24.04
- Always double-check that program compiles and runs on eustis
- Copy gitolite key if desired
- Use ProxyJump to submit from VM through eustis
git server
Programming projects will be submitted as git repositories to gitolite3@eustis3.eecs.ucf.edu. Detailed usage instructions will be provided as part of the course.
Webcourses
Please see Webcourses@UCF Support for help.
Ed Discussion
You will receive an invitation to join the class discussion board by the second week of classes.
Please direct all course-related communications to Ed Stem.
You can ask questions and discuss topics publicly, anonymously or not, and also select a private message to communicate with instructional staff only.
UCF Here
The UCF Here mobile app will be used to check-in for attendance using your smartphone.
Web App: https://here.cdl.ucf.edu/
Learn more about setting up and using UCF Here at the following student guide:
https://cdl.ucf.edu/support/webcourses/guides/ucf-here-student-guide/
If you have any questions or problems downloading the app, please contact Webcourses@UCF Support or visit the student guide.
Resources
emacs Tutorial
Go through the complete tutorial emacs, which takes about 30 minutes.
ssh into eustis, replacing
NIDwith your UCF NID.ssh NID@eustis.eecs.ucf.edu
Start the emacs tutorial.
emacs -f help-with-tutorial
- Exit the tutorial once finished by pressing
Ctrl-xthenCtrl-c.Ctrlis the "Control" key. Hold it down, then tap the key (x, thencin this case) and release.
Notes
(Links are for informational purposes only and their inclusion is not an endorsement of their content.)
- Windows Users
In Windows Terminal, Ctrl-v and Ctrl-c may be bound to paste and copy, which will interfere with emacs. Try going to settings, the "Actions" and delete the bindings to Ctrl-v and Ctrl-c. Paste and copy may be still useable with Ctrl-Shift-v and Ctrl-Shift-c. See here and here for others with the same issues.
- Mac Users
In MacOS Terminal, the alt key may not work as expected. Try going to preferences then "Settings" and check the "Use option as meta key". See here for more info.
References
(Links are for informational purposes only and their inclusion is not an endorsement of their content.)
Optional Suggested Textbooks
- The C Programming Language (Second Edition) by Brian W. Kernighan and Dennis M. Ritchie
- C Programming: A Modern Approach by K. N. King
- Programming Knights by Arup Guha (practice programs)
- The Practice of Programming by Brian W. Kernighan and Rob Pike
- 21st Century C: C Tips from the New School (2nd Edition) by Ben Klemens
- Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming by Allen I. Holub
Description
Programming with C including arrays, pointer manipulation and use of standard C math and IO libraries.
Core Policy Statements
Academic Integrity
The Center for Academic Integrity (CAI) defines academic integrity as a commitment, even in the face of adversity, to five fundamental values: honesty, trust, fairness, respect, and responsibility. From these values flow principles of behavior that enable academic communities to translate ideals into action. http://academicintegrity.org/
UCF Creed: Integrity, scholarship, community, creativity, and excellence are the core values that guide our conduct, performance, and decisions.
- Integrity: I will practice and defend academic and personal honesty.
- Scholarship: I will cherish and honor learning as a fundamental purpose of my membership in the UCF community.
- Community: I will promote an open and supportive campus environment by respecting the rights and contributions of every individual.
- Creativity: I will use my talents to enrich the human experience.
- Excellence: I will strive toward the highest standards of performance in any endeavor I undertake.
The following definitions of plagiarism and misuse of sources come from the Council of Writing Program Administrators http://wpacouncil.org/node/9 and have been adopted by UCF's Department of Writing & Rhetoric.
Plagiarism
In an instructional setting, plagiarism occurs when a writer deliberately uses someone else's language, ideas, or other original (not common-knowledge) material without acknowledging its source. This definition applies to texts published in print or on-line, to manuscripts, and to the work of other student writers.
Misuse of Sources
A student who attempts (even if clumsily) to identify and credit his or her source, but who misuses a specific citation format or incorrectly uses quotation marks or other forms of identifying material taken from other sources, has not plagiarized. Instead, such a student should be considered to have failed to cite and document sources appropriately.
Responses to Academic Dishonesty, Plagiarism, or Cheating
UCF faculty members have a responsibility for your education and the value of a UCF degree, and so seek to prevent unethical behavior and when necessary respond to infringements of academic integrity. Penalties can include a failing grade in an assignment or in the course, suspension or expulsion from the university, and/or a "Z Designation" on a student's official transcript indicating academic dishonesty, where the final grade for this course will be preceded by the letter Z. For more information about the Z Designation, see http://goldenrule.sdes.ucf.edu/zgrade.
For more information about UCF's Rules of Conduct, see http://www.osc.sdes.ucf.edu/.
In-Class Recording Policy
Outside of the notetaking and recording services offered by Student Accessibility Services, the creation of an audio or video recording of all or part of a class for personal use is allowed only with the advance and explicit written consent of the instructor. Such recordings are only acceptable in the context of personal, private studying and notetaking and are not authorized to be shared with anyone without the separate written approval of the instructor.
Course Accessibility Statement
The University of Central Florida is committed to providing access and inclusion for all persons with disabilities. This syllabus is available in alternate formats upon request. Students with disabilities who need specific access in this course, such as accommodations, should contact the professor as soon as possible to discuss various access options. Students should also connect with Student Accessibility Services (Ferrell Commons, 7F, Room 185, sas@ucf.edu, phone (407) 823-2371). Through Student Accessibility Services, a Course Accessibility Letter may be created and sent to professors, which informs faculty of potential access and accommodations that might be reasonable.
Campus Safety Statement
Emergencies on campus are rare, but if one should arise in our class, we will all need to work together. Everyone should be aware of the surroundings and familiar with some basic safety and security concepts.
- In case of an emergency, dial 911 for assistance.
- Every UCF classroom contains an emergency procedure guide posted on a wall near the door. Please make a note of the guide's physical location and consider reviewing the online version at http://emergency.ucf.edu/emergency_guide.html.
- Familiarize yourself with evacuation routes from each of your classrooms and have a plan for finding safety in case of an emergency. (Insert class-specific details if appropriate)
- If there is a medical emergency during class, we may need to access a first aid kit or AED (Automated External Defibrillator). To learn where those items are located in this building, see http://www.ehs.ucf.edu/AEDlocations-UCF (click on link from menu on left). (insert class specific information if appropriate)
- To stay informed about emergency situations, sign up to receive UCF text alerts by going to my.ucf.edu and logging in. Click on "Student Self Service" located on the left side of the screen in the tool bar, scroll down to the blue "Personal Information" heading on your Student Center screen, click on "UCF Alert", fill out the information, including your e-mail address, cell phone number, and cell phone provider, click "Apply" to save the changes, and then click "OK."
- If you have a special need related to emergency situations, please speak with me during office hours.
- Consider viewing this video (https://youtu.be/NIKYajEx4pk) about how to manage an active shooter situation on campus or elsewhere.
Deployed Active Duty Military Students
If you are a deployed active duty military student and feel that you may need a special accommodation due to that unique status, please contact your instructor to discuss your circumstances.