COP 4283 — Data Science Programming

All teaching

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.

Grade breakdown
ComponentWeightDescription
Attendance10%In-class activities and quizzes; participation in studies.
Quizzes10%Bi-weekly short quizzes on Webcourses.
Midterm exam20%Programming, data analysis, and visualization fundamentals.
Programming & visualization assignments30%Individual Python, analysis, and visualization assignments.
Final project30%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.

Fall 2026 schedule
DateTopic / activityDeliverables
Tue Aug 25Course introduction—
Thu Aug 27Python foundations—
Tue Sep 1Visualization foundations—
Thu Sep 3No class — UCF Game Day—
Tue Sep 8Python control flow and functions—
Thu Sep 10Visual perception—
Tue Sep 15NumPy fundamentals—
Thu Sep 17Visual representations—
Tue Sep 22Pandas fundamentalsAssignment 1 due
Thu Sep 24Multivariable visualization—
Tue Sep 29Data cleaning and preparation—
Thu Oct 1Graphical integrity and design—
Tue Oct 6Data transformation and aggregationAssignment 2 due
Thu Oct 8Interaction in visualization—
Tue Oct 13Time-series programming with Pandas—
Thu Oct 15Data humanism and storytelling—
Tue Oct 20Midterm exam—
Thu Oct 22Web data collection and scraping—
Tue Oct 27Text and document visualizationAssignment 3 due
Thu Oct 29Python visualization with Matplotlib and SeabornProject proposal due
Tue Nov 3Visual analytics—
Thu Nov 5Vega-Lite / Altair—
Tue Nov 10Asynchronous project work — IEEE VISAssignment 4 due
Thu Nov 12Asynchronous project work / TA feedback—
Tue Nov 17Time-series visualization—
Thu Nov 19Data interfaces—
Tue Nov 24No class — Thanksgiving Break—
Thu Nov 26No class — Thanksgiving Break—
Tue Dec 1Network and hierarchical visualization—
Thu Dec 3Final project presentations / demosFinal 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.