This course serves as a foundational gateway for students interested in applying machine learning to cybersecurity analytics. Throughout the semester, students will gain hands-on proficiency with essential algorithms, analytical frameworks, practical tools, and operational environments tailored for security data analysis. Beyond technical execution, students are encouraged to cultivate an architectural mindset—learning to design and implement end-to-end solutions for complex security challenges using modern data science techniques. The curriculum integrates core cybersecurity principles, foundational data science theories, seminal research papers, and domain background. Additionally, the course examines several production-grade security systems to demonstrate how analytical algorithms are deployed in practice to achieve robust security objectives.
Prerequisites & Course Expectations. Designed as an intensive, 16-week graduate-level seminar within the Department of MIS, this course centers on advanced, data-driven system development. It is an advanced, fast-paced elective specifically structured for MIS graduate students pursuing specialized development in modern information systems. To succeed in this 16-week rigorous curriculum, students are expected to possess solid computational foundations (equivalent to Programming Languages I & II). Please be advised that Python is utilized strictly as an execution vehicle, and no programming tutorials will be provided. Practical assignments and term projects heavily rely on machine learning frameworks (e.g., TensorFlow and Keras), requiring students to demonstrate independent problem-solving capabilities — including consulting technical documentation, navigating technical forums, and performing autonomous debugging. Prospective students should ensure they are comfortable architecting and deploying clean Python scripts independently prior to enrollment.
-/-: We have a forum (https://groups.google.com/g/nccu-ds4s) for this class. If you have any questions (e.g., enrollment, homework, project, ...), please post your question directly in the forum. TA and I will respond later.
Instructor: Shun-Wen Hsiao, NCCU MIS Dept., <hsiaom at nccu.edu.tw>
Lectures: Wednesday 234 (09:10~12:00 UTC+8)
Course ID: 306732001, 356378001
Classroom: NCCU College of Commerce Building Room (TBA)
TA: TBA
GitHub: https://github.com/hsiaom26/DS4CS-24 (and 26ver)
Homework Submission: http://hsiaom.nccu.edu.tw:8888/
Office Hours: By appointment.
Comprehend fundamental detection methodologies, including profiling targets, profiling techniques, misuse (signature-based) detection, and anomaly detection.
Master the core principles and workflows of both static and dynamic program analysis.
Analyze key machine learning and data analysis algorithms for security applications, encompassing distance/similarity metrics, classification, and clustering techniques.
Examine deep learning architectures and neural network algorithms applied to threat identification.
Explore the application of language models (LMs/LLMs) in analyzing security telemetry and unstructured threat intelligence.
Evaluate real-world security information systems through a data-driven lens, including intrusion detection systems (IDS), anomaly detection frameworks, spam filtering solutions, and sequence analysis pipelines.
W1 (02/17): Regression (M03)
Model and Data Table
Linear Regression (MSE, Gradient Descent)
W2 (02/24): Classification (M04)
Logistic Regression (Cross-Entropy)
Support Vector Machine
Evaluation
W3 (03/03): Tree (M06)
Tree and Random Forest
Entropy, Information Gain, Gini, Chi, Variance
W4 (03/10): Clustering (M07)
Distance
K-means
Hierarchical Clustering
DBScan
Malware Calls (f14s1940_callonly_tfds)
W5 (03/17): Problematic Data (M08, M09)
Dimension Reduction, PCA (M08)
W6 (03/24): Neural Network
W7 (03/31): Recurrent NN (N03)
Static Analysis: Windows PE file and image analysis (D01)
Understanding LSTM Networks (N03-1)
LSTM, GRU, ResNet
Dynamic Analysis: Malware call and sequence analysis (D02)
Text classification with an RNN (N03-2)
W8 (04/07): No class.
W9 (04/14) Midterm, no class.
W10 (04/21): Latent Space
denoising, anomaly detection
activation
optimizing gradient-descent
W11 (04/28) Language Model (N06)
word2vec (cbow, skip-gram), fastText (supervised, unsupervised)
Transformer, Self-Attention, BERT
W12 (05/05): Language Model
Basic text classification (N06-2), Classify text with BERT (N06-3)
HuggingFace NLP Course (N06-4)
1. Transformer Models, 2. Using Transformer, 3. Fine-Tuning a Pretrained Model
W13 (05/12): Language Model and Others
W14 (05/19): ML flow
NLP Course, Diffusion Course
W15 (05/26): Anomaly Detection
Variational Autoencoder (N04-2)
V. Chandola, A. Banerjee and V. Kumar, "Anomaly Detection: A Survey," ACM Computing Survey, vol. 41, no. 3, July 2009.
One-class SVM
Self-Organized Map
W16 (06/02): Final, no class.
5~6 assignments are expected.
--/-- H-NID
https://www.kaggle.com/datasets/sampadab17/network-intrusion-detection
--/-- H-calls4famPlusPCA
--/-- H-calls4fam_TFDS_rnn
--/-- HuggingFace H-calls4famLM
--/-- H-LM_ATT&CK
--/-- H-LLM-Disentanglement
Homework (50%): programming exercises and essays. You MUST see the ACADEMIC INTEGRITY section before taking this class.
Project (10%): student needs to write an analysis program on a security-related data set to demonstrate their understanding of security issues and data analysis skill. A proposal, a report, a presentation, and GitHub codes are required.
Midterm (20%)
Final (20%)
The Problem Solving Through Inquiry and Data Analysis rubric can be found here. You SHOULD read it carefully before submitting your first homework. It allows you to know exactly the way in which you will be assessed, it is helpful in facilitating academic integrity.
Plagiarism is a serious breach of academic trust. In academic work, our words, ideas and programs are the value of our work, so turning in someone else’s work as if it were your own is a form of theft. When you use someone else’s words, ideas, or programs without crediting the source or authorship of those words, ideas, and program, you are plagiarizing. So here’s the bottom line: original work only, credit to ideas, writing, words, or programs from someone other than you. Plagiarized work will automatically receive a “0” or “F” for the assignment.
Since cheating usually arises out of desperation and everyone has an occasional problem and finishes their work late, this class accepts late homework submission, but with a 15% per day penalty. We encourage you to complete your homework rather than drop it. Any oral discussion with classmates, TA and lecturer are welcomed, but you MUST NOT share any of your code in any form.