Syllabus
This course provides a comprehensive introduction to the essential tools required for graduate-level research and practice in artificial intelligence and data analysis, designed for students from diverse academic backgrounds with little to no prior programming experience. The course is organized around three pillars: (i) the mathematical foundations of machine learning, covering functions, limits, derivatives, integrals, vectors, matrices, and probability; (ii) Python programming, ranging from variables and data types to data structures, control flow, functions, modules, file I/O, classes, and exception handling; and (iii) modern AI and academic productivity tools, including generative AI assistants such as ChatGPT and Claude Code, the LaTeX-based scientific writing platform Overleaf, and the mathematical underpinnings of multilayer perceptrons (MLPs). In the latter half of the semester, students apply what they have learned to a team-based term project on clustering, where they identify a problem from their own research domain or industry, collect and preprocess real-world data, perform cluster analysis, and present their findings in a formal academic format. By the end of the course, students are expected to be able to read and write Python code fluently, understand the mathematical language used in modern machine learning literature, leverage AI tools to accelerate research workflows, and complete a small-scale data analysis project from end to end.
2026S courses (TA: Taejoon Han, Minseok Kim)
Tentative Outlines for the Courses
W1. Orientation: Overview of OT - Overview of the course goals, structure, evaluation policy, and the team term project that runs throughout the semester.
W2. Tutorial for Overleaf (LaTeX) and Prompt Engineering - Introduction to scientific writing with Overleaf, the collaborative LaTeX editor, together with the fundamentals of prompt engineering for using large language models effectively in research and coding workflows.
W3. Programming — Python Variables - Introduction to the Python interactive environment, variable assignment, naming conventions, and the role of variables in computation.
W4. Academic Paper Writing / Programming — Numeric and String Data Types - Conventions and structure of academic writing in the sciences, paired with Python's primitive numeric and string data types and their built-in operations.
W5. Programming — Lists, Tuples, Sets, and Dictionaries - Introduction to AI-assisted "vibe coding" workflows for rapid prototyping, alongside Python's four core collection types — list, tuple, set, and dictionary.
W6. Programming — Conditional Statements - Introduction to vectors as the basic objects of linear algebra, paired with branching control flow in Python using if/elif/else.
W7. Programming — Loops - Introduction to iteration through for and while loops, common looping patterns, and their use in processing collections and files.
W8. Programming — Functions Part I - Concepts, Parameters, and Return Values - Introduction to defining and calling functions in Python: function definition syntax, parameters, arguments, and return values.
W9.
W10. Term Project — Proposal Meeting (1/2) - First round of team meetings with the instructor to discuss project topic, target dataset, and the intended approach.
W11. Term Project — Proposal Meeting (2/2) - First round of team meetings with the instructor to discuss project topic, target dataset, and the intended approach.
W12. Programming — Functions Part II: Scope, Reusability, and Program Structuring - Variable scope and namespaces, designing reusable functions, and structuring larger programs around modular function decomposition.
W13. Term Project — Progress Meeting (1/2) - Second round of team meetings to refine project direction in light of mid-term feedback and confirm the plan for the remaining weeks.
W14. Term Project — Progress Meeting (2/2) - Second round of team meetings to refine project direction in light of mid-term feedback and confirm the plan for the remaining weeks.
W15. Programming — Modules and File Input/Output - Organizing code with modules and packages, importing standard libraries, and reading from and writing to text and CSV files.
W16. Classes and Object-Oriented Programming - Introduction to object-oriented programming in Python — classes, objects, attributes, methods, and inheritance — and a wrap-up of the term project.
Recitation
Math — Calculus: Review of limits, continuity, differentiation, and integration, with worked examples that recur in machine learning such as gradient computation and area-under-curve interpretations.
Math — Matrix: Fundamentals of matrices and linear algebra, including matrix–vector multiplication, transpose, inverse, and eigenvalues/eigenvectors, with applications to data representation and dimensionality reduction.
Math — Probability: Introduction to probability and statistics, covering random variables, common distributions, expectation and variance, conditional probability, and Bayes' rule.
Math — Vector: Introduction to vectors in n-dimensional space, including vector arithmetic, the dot product, norms, and the geometric intuition that underpins linear algebra.
How to write a paper: Conventions and structure of academic papers in the sciences — abstract, introduction, methods, results, discussion — together with citation practices and tips on revising for clarity.
Prompt Engineering: Practical techniques for crafting effective prompts for large language models, including role prompting, few-shot examples, chain-of-thought reasoning, and structured outputs for research and coding workflows.
Tutorials
With highest honor
2026S: -
References
점프 투 파이썬: https://wikidocs.net/book/1