Welcome to CPS 5745 (Data Analytics and Visualization)
Starting in Fall 2024, CPS 4745 (Visualization Design and Development) will no longer be co-listed with CPS 5745 (Data Analytics and Visualization). From that point forward, CPS 4745 will have distinct materials, assignments, and exams separate from CPS 5745. CPS 4745 will place greater emphasis on visualization design and basic development, while CPS 5745 will focus more on analytics and advanced visual development.
Students who take CPS 4745 in Fall 2024 will be eligible to take CPS 5745 in Fall 2025. However, students who took CPS 4745 in Fall 2023 cannot take CPS 5745 in Fall 2024, as the two courses were co-listed at that time and shared the same teaching content and exams.
In both courses, students will learn about online visualization design and development, gaining hands-on experience. Both courses emphasize development using JavaScript, PHP and MySQL, which involves a significant amount of coding.
If you don't like coding, please do NOT take these two courses.
Students are encouraged to take CPS 4721/5721 (Data Mining) in the spring semester, if they are interested in Data Science.
Please click here to see all CS/IT programs at Kean University.
In CPS 5745, we will cover the following topics:
- Data visualization concepts
- Visual effects
- Tools: Tableau, MS Power BI, Google Looker studio, Excel functions & graphs
- HTML, DOM, menu, HTML inputs, CSS, canvas, SVG, CGI
- Interaction between HTML form inputs and graphs
- Web technology, 3-tier architecture, client/server, file upload
- Integration and interaction between front-end and back-end
- SQL DML, aggregations, group by
- SQL DDL, upload CSV to MySQL
- Materialized view, data mart and data visualization
- SQL query performance and data visualization
- PHP, PHP MySQL
- Personalization, preference
- JavaScript, function, events, event handling
- Debugging JavaScript using bowser console
- Debuging PHP MySQL
- jQuery, Ajax, callback function,
- JSON format and processing
- Google Charts, Google Maps, Google Analytics
- Ploty.js, D3.js - many different interactive graphs
- Interactive, dynamic and realtime visualization design
- Online visualization case study
- Data mining concepts
- Automated analytics and highlights - statistical functions, correlation, p-value, average, maximum, minmum
- Cron job on Linux
- Automatic email notification, alert
- Python Pandas, matplotlib, geopandas
- Dashboard design and development
- How to present - datasets, graphs, results, and information
CPS 5745 Prerequisite
Students are expected to have a solid experience of SQL and PHP MySQL on the first day of class.
The prerequisite is CPS 3740 or CPS 5740) for CPS 5745. If you have not completed the prerequisite, you should withdraw from the class. The projects focus on online data visualization - web database applications based on CPS 3740/5740 projects.
Note: This course is available only in the fall semester.
Instructor: Dr. Ching-yu (Austin) Huang
Class information:
- All the class materials (syllabus, slides, assignments, tools) are posted on the class Google drive. You must use the Kean email account to access the folder.
- You can access the latest syllabus here.
- This is a hands-on course. Students are required to bring a personal laptop to every class.
- Instructional Methods: lecture with slides, student presentations, class discussions and exercises, and project creations.
- Course grading: please see the course syllabus.
- Grading policy: Total 1000 points.
A: >=940, A-: 939-890, B+: 889-840, B: 839-800, B-: 799-760, C+: 759-720, C: 719-680, D: 679-640, F: below 640
(C or better is needed for CS and IT majors.)
(B- or better is needed for the CIS Graduate program.)
CPS 5745 Course Description
This course focuses on the methods to automatically transform data into a visual context in different formats – charts, graphs, dashboards, and dynamic web pages. Students will study how to design, develop effective and interactive visualization tools to analyze the data from files, databases, and various data sources as well as learn how to use popular visualization software.
CPS 5745 Student Learning Outcomes
Upon completion of this course, the student will be able to:
- Explain the key techniques and theory used in visualization, including data models, graphical perception, and techniques for visual encoding and interaction.
- Present information in an understandable, effective, and aesthetic manner, for the purposes of explaining ideas and analyzing data.
- Analyze, evaluate, and automate information visualizations and other forms of visual presentation.
- Utilize popular visualization API and software.
- Design and develop interactive web pages and tools that allow the user to visualize and interact with data from the database.
Books and resources
In addition to the written exams, this combined course requires students to study and present 2 selected D3.js Data Visualization topics and implement 2 big projects on a Linux server. We will use HTML, JavaScript, jQuery, Ajax, PHP MySQL, Python, D3.js, Google Maps, and Google Charts for the projects. The data will be from CSV files and MySQL database.
Requirements - Students will need the followings to do exercsies and assignments:
- Students need to download and install Kean VPN.
- https://www.kean.edu/software (Kean authentication is required.)
- The VPN server name should be: sslvpn.kean.edu/student
- Students will use Kean email to login to obi.kean.edu (a Linux server): Hostname: obi.kean.edu, port: 22, protocol: ssh
Windows: Use "PuTTY" software to connect to the Linux server. You can download putty from http://www.putty.org/
Mac: Use "terminal" software. Please refer to this tutorial.
- FileZilla-Client to transfer files between the Linux server and your desktop/laptop. You can download FileZilla-Client at
https://filezilla-project.org/download.php?type=client
The hostname and port # is the same as above. Protocol should be "sftp". The logon type should be "normal". You need to enter the user login and password.
- A good text editor: sublime, visual studeio code, or others. You can download sublime at https://www.sublimetext.com/3
- Create public_html and CPS5745 or CPS5745 folders under your home directory on obi.kean.edu, and set proper permission for the folders and files.
- For CPS5745, create and test your database account by following this procedure.
- Practice these basic Unix commands: cd, ls -la, more, pwd, mkdir, rm, mv, cp, chmod, etc. Please
refer to this Unix command document.
You should review the basic Unix, SQL, and PHP MySQL before the class starts. We will quickly go through these topics and then focus on JavaScript, jQuery, Ajax, and interactive/automated visualization design. You can refresh Unix commands, SQL and PHP MySQL at the following links:
You can get help from the Samurai program for basic Web Database Programming. Samurai will host group review sessions for some topics related to the web & database. You can see the Samurai schedule and VIRTUAL walk-in hours at
Code Samurai Program.
Samples might be used in the Data Visualization class. Please save the source codes in proper extension and use Sublime Text Editor or other good editor to view the source codes. The JavaScript function/method/property of the object will be automatically prompted in the editor.
Menu
FORM and CGI
JavaScript
Event handling
Image, canvas
Graphs
jQuery, Ajax, MySQL
Google Chart in JavaScript
Google Chart with PHP
Google Chart with PHP and MySQL
D3 Chart in JavaScript
D3 Chart in JavaScript and PHP
Front-end, back-end and system integration
Intergration with a 3rd party API,
Upon completion of this course, the student will be able to do the following projects:
COVID-19 Visualization
Other online visualization tools