Fall 2026 · Syllabus
Instructor & meeting information
- Instructor
- Dr. Yu Fu
- Class
- Tuesday/Thursday, 4:30–5:45 p.m.
- Location
- MSB 0359
- Office
- HEC 441
- Office hours
- Tuesday, Thursday, and Friday, 2–4 p.m.
- GTA
- Chaoyang Wang — chaoyang.wang@ucf.edu
- GTA office hours
- Friday, 2–5 p.m., UCF Global 232
Course description
Practical programming for data processing, analysis, and visualization using Python. Students learn to read, clean, transform, explore, analyze, and communicate data with NumPy and Pandas. The course emphasizes information visualization, including static, interactive, and web-based representations with Matplotlib, Seaborn, and Vega-Lite/Altair. R and Julia are not covered.
Hands-on coding exercises, individual assignments, and a team project develop practical data science skills and an understanding of how computational and visual methods work together.
Prerequisites & preparation
COP 3223C (Introduction to Programming with C), with a grade of C or better, or a passing score on the CS Placement Test.
Learning objectives
- Apply Python and data science libraries to process, transform, and analyze data.
- Use NumPy and Pandas for cleaning, aggregation, and exploratory analysis.
- Select and design visual representations for different data types and analytical questions.
- Create static, interactive, and web-based visualizations.
- Critique visualizations and identify ineffective or misleading design choices.
- Communicate findings through analytical and visual representations.
- Work effectively in teams toward a common analytical goal.
- Use current techniques, skills, and tools for computing practice.
Topics
- Python syntax, functions, data structures, files, and computational workflows
- NumPy and Pandas: cleaning, transformation, joins, reshaping, aggregation, and exploratory analysis
- Data acquisition: common formats, APIs, and web data sources
- Information visualization: data and task abstraction, encoding, perception, color, and critique
- Matplotlib, Seaborn, and declarative visualization with Vega-Lite/Altair
- Selection, filtering, linking, coordinated views, and dashboards
- Narrative visualization, uncertainty, misleading visualization, accessibility, and responsible communication
- Structuring analyses, evaluating results, communicating findings, and teamwork
Assignments & grading
Submit electronically through Webcourses unless otherwise noted. Deadlines are 11:59 p.m. Eastern Time. Exams combine multiple-choice, short-answer, code interpretation, and analytical questions.
| Component | Weight | Description |
|---|---|---|
| Attendance | 10% | In-class activities and quizzes; participation in studies. |
| Quizzes | 10% | Bi-weekly short quizzes on Webcourses. |
| Midterm exam | 20% | Programming, data analysis, and visualization fundamentals. |
| Programming & visualization assignments | 30% | Individual Python, analysis, and visualization assignments. |
| Final project | 30% | Team-based end-to-end data science project. |
Final project
Teams of approximately five students complete data acquisition, cleaning, analysis, visualization, and communication. Proposal (5%): topic, dataset, analytical questions, and roles. Check-in (5%): dataset, analysis progress, and visualization plan. Final report and code (15%): reproducible analysis, visualizations, code/notebook, and report or dashboard. Presentation (5%): communicate analysis and findings using polished visualizations.
Letter-grade scale
- A
- 94–100%
- A−
- 90–93%
- B+
- 87–89%
- B
- 84–86%
- B−
- 80–83%
- C+
- 77–79%
- C
- 74–76%
- C−
- 70–73%
- D+
- 67–69%
- D
- 64–66%
- D−
- 61–63%
- F
- 0–60%
Fall 2026 schedule (tentative)
Deadlines are 11:59 p.m. ET. The schedule may change with course progress; updates will be announced on Webcourses.
| Date | Topic / activity | Deliverables |
|---|---|---|
| Tue Aug 25 | Course introduction | — |
| Thu Aug 27 | Python foundations | — |
| Tue Sep 1 | Visualization foundations | — |
| Thu Sep 3 | No class — UCF Game Day | — |
| Tue Sep 8 | Python control flow and functions | — |
| Thu Sep 10 | Visual perception | — |
| Tue Sep 15 | NumPy fundamentals | — |
| Thu Sep 17 | Visual representations | — |
| Tue Sep 22 | Pandas fundamentals | Assignment 1 due |
| Thu Sep 24 | Multivariable visualization | — |
| Tue Sep 29 | Data cleaning and preparation | — |
| Thu Oct 1 | Graphical integrity and design | — |
| Tue Oct 6 | Data transformation and aggregation | Assignment 2 due |
| Thu Oct 8 | Interaction in visualization | — |
| Tue Oct 13 | Time-series programming with Pandas | — |
| Thu Oct 15 | Data humanism and storytelling | — |
| Tue Oct 20 | Midterm exam | — |
| Thu Oct 22 | Web data collection and scraping | — |
| Tue Oct 27 | Text and document visualization | Assignment 3 due |
| Thu Oct 29 | Python visualization with Matplotlib and Seaborn | Project proposal due |
| Tue Nov 3 | Visual analytics | — |
| Thu Nov 5 | Vega-Lite / Altair | — |
| Tue Nov 10 | Asynchronous project work — IEEE VIS | Assignment 4 due |
| Thu Nov 12 | Asynchronous project work / TA feedback | — |
| Tue Nov 17 | Time-series visualization | — |
| Thu Nov 19 | Data interfaces | — |
| Tue Nov 24 | No class — Thanksgiving Break | — |
| Thu Nov 26 | No class — Thanksgiving Break | — |
| Tue Dec 1 | Network and hierarchical visualization | — |
| Thu Dec 3 | Final project presentations / demos | Final project due |
Software, materials & readings
- No required textbook.
- Recommended: Python for Data Analysis, Wes McKinney (O’Reilly).
- Official documentation for Python, NumPy, Pandas, Matplotlib, Seaborn, Altair, and Vega-Lite.
- Lecture notes, labs, assignments, and announcements are posted on Webcourses.
Policies & support
Communication
Email yu.fu@ucf.edu with [COP4283] in the subject. Typical response time is 24–48 hours on weekdays; weekend and holiday messages may be answered the next business day. Check Webcourses and UCF email regularly. Attend office hours or schedule a meeting for substantial questions, and give advance notice of office visits when possible.
Late work
10% per day, up to five days; work more than five days late is not accepted. Exceptions require documented emergencies. Each student has two late days, each allowing up to 24 hours without penalty.
Academic integrity
Follow UCF’s Golden Rule and student conduct policies. Submitted work must reflect your understanding and meet each assignment, quiz, exam, and project’s requirements.
Academic engagement
Complete the designated Webcourses Academic Engagement activity in the first week. Missing the deadline may delay financial aid disbursement.
AI use
Generative AI may be used for explanation, guidance, brainstorming, and understanding concepts unless an assignment says otherwise. Do not submit AI-generated code, analyses, visualizations, or text without understanding and verification. You are responsible for correctness and must be able to explain your work. When AI tools materially contribute, briefly disclose how they were used—for example, “Used ChatGPT to help understand a Pandas groupby operation.” Assignments and exams may impose additional restrictions stated in their instructions.
Course updates
The syllabus and calendar may change; updates are announced on Webcourses. Resolve academic issues affecting your final grade before the university’s final grade submission deadline.