Course Description
Examines how Artificial Intelligence has rapidly become ubiquitous in daily life and been applied to diverse areas of Biology. Focuses on machine learning approaches as well as deep learning methods, including transformers. Covers machine learning methods for tabular data, computer vision, transfer learning, natural language processing, and transformer-based architectures. Classes are typically applied coding with Jupyter Notebooks on HiPerGator. Prior Python coding experience required.
Expanded Description
Artificial Intelligence (AI) as a field of research has existed since at least the 1950s. After initial enthusiasm, the gains of early years slowed and AI entered what has been referred to as an AI winter. Modern computing hardware, rapid growth in data collection and availability, and advances in algorithms have renewed interest in AI and revolutionized the field. AI is rapidly becoming ubiquitous in daily life and in diverse academic fields. This course will examine the applications of AI with particular focus on applications in biology. We will address the topics of what AI is, how intelligent computers really are and may become, where limitations still exist, and how AI technologies can be used to advance biological research.
The course will attempt to provide sufficient background and foundations so that students understand AI algorithms at a conceptual level, but will not focus on the mathematical details. This is not a computer science or mathematics course.
Classes will have some lecture, though most classes will consist of live coding demos and hands-on exercises.
AI Content
Build-AI: Evaluate & Create AI: Higher-order thinking skills (e.g., evaluate, appraise, predict, design) with AI applications. AI course content is over 50%.
This course accomplishes the AI Designation objectives of the subject areas listed above. The course explores the application of AI to biological data. Students build AI systems using Python code and evaluate the performance of these on data.
Instructors
Matt Gitzendanner
- Email: magitz@ufl.edu
- Office: Dickinson Hall, stop at front desk and they will call me
- Phone: 352-273-1960
- About: Dr Gitzendanner’s background is in plant evolutionary genetics and genomics where he uses genetic tools to study the conservation, evolution, and diversity of plants. The field is generally computationally intensive, and Matt has worked for 10 years training users how to use HiPerGator and other high-performance computing systems to do the amazing research that is done across the University of Florida campus.
Arthur Porto
- Email: arthur.porto@ufl.edu
- Office: Dickinson Hall, stop at front desk and they will call me
- Phone: 352-273-1939
- About: Dr Porto is a computational biologist with strong focus on applied computer vision. You can find more about his research at the BioVisionLab website.
Note: The initial version of this course, taught in Spring 2021, was co-developed with Brian Stucky. Previous versions of the course are archived in GitHub branches in the website’s repository.
Prerequisites
BSC4452 or BSC6451 or BSC2891 or permission of instructor based on demonstration of prior Python programming experience.
Computer programming
The course assumes a basic understanding of computer programming in general, and Python in particular.
If you need a quick refresher, there are several LinkedIn Learning courses that will give you sufficient background to be ready for this course (these are free for UF Students):
- Programming Foundations: Fundamentals
- This course is best for people with no coding experience.
- Most of the hands-on examples are in Python
- Python Essential Training
- A good review or introduction for people who know some programming but not Python
- Learning Python
- Another option for those with some coding experience
Math
You should have a general understanding of probability and statistics at the level of a first applied statistics course.
Knowledge of basic calculus and, to a lesser extent, linear algebra, can be helpful. We won’t focus on the math, but having a conceptual understanding of derivatives, function optimization, and matrix math will be useful.
If you are unsure, contact the instructor.
Meeting Times
-
Mon, Wed, Fri from 1:55pm - 2:45pm in Bartram 211
Important: You should make every effort to attend class synchronously. While we will record class sessions, during class is the best opportunity to ask questions and get help from the instructors and others in the class. -
I understand that some students will need to miss classes sometimes. That is fine and we will do our best to help you catch up, but regular attendance is the best way to learn.
Help Session Times
We are happy to meet in-person or via Zoom.- Matt's help time schedule:
- Wednesdays from 10:00am to 11:00
- Book a time that works for you
- Email Matt to setup a different time
- Arthur's help time schedule:
- Fridays from 10:00am to 11:00
- Email Arthur to setup a different time
We expect that you will need help. You should expect that you will need help.
We want to help you! We cannot always help if you do not ask for the help you need. Please ask for help!
Course Textbooks
While we will not use any one text for the course, we will use sections of these books and other free resources. All will be free online resources.
-
We likely won’t use this much, but another good resource–especially if you want more of the mathematical background–is: Dive into Deep Learning by Aston Zhang, Zachary Lipton, Mu Li and Alexander Smola
Student Learning Outcomes
Note: For each SLO listed, topics are addressed in lectures and hands-on, interactive coding exercises in class throughout the semester. Assessment of SLOs is noted in the corresponding assignments in the calendar. |
Know-AI: Know & Understand
- SLO1. Identify, describe, and/or explain the components, requirements, and/or characteristics of AI.
- SLO2. Recognize, identify, describe, define, and/or explain applications of AI in multiple domains.
Use-AI: Use & Apply
- SLO3. Select and/or utilize AI tools and techniques appropriate to a specific context and application.
Build-AI: Evaluate & Create
- SLO5. Assess the context-specific value or quality of AI tools and applications.
- SLO6. Conceptualize and/or develop tools, hardware, data, and/or algorithms utilized in AI solutions.
___
Course Calendar
For readings, there may be links to pages with my notes and additional explanations on the content from the texts.
Week | AI-Related Topic | # Contact Hours of AI-related Content | AI-related readings, projects, assignments, etc. |
---|---|---|---|
Week 1 | Intro and Python review | 3 hours | Not required reading, but a fun intro to AI: People’s Guide to AI by Mimi Ọnụọha and Mother Cyborg (Diana Nucera) Course introduction (slides) Take the HiPerGator Account training Brief intro and history of AI slides * Origins of AI as an academic discipline. * A repeating pattern: major hype and enthusiasm followed by an AI “winter”. * Where are we now? * Constant need to question! GitHub setup |
Week 2 | Python review, including Pandas. AI for Coding. | 3 hours | Ch 1 of PDSH: IPython: Beyond Normal Python Introduction to Jupyter and the notebook Introduction to Jupyter GitHub Assignment due (SLO6.) Introduction to Python Intro Python and Coding Assistants |
Week 3 | More AI for Coding, and NumPy | 3 hours | Intro Python and Coding Assistants Ch 2 of PDSH: Introduction to NumPy Introduction to NumPy Ch 3 of PDSH: Data Manipulation with Pandas Introduction to Pandas Data Visualization in Pandas |
Week 4 | Machine Leaning Introduction | 3 hours | Section 5.01 of PDSH: What is Machine Learning? What is Machine Learning slides Introducing Scikit-Learn Problem set 1 is due Basic Python coding assessment (SLO3, SLO6.) Section 5.02 of PDSH: Introducing Scikit-Learn Introducing Scikit-Learn Section 5.03 of PDSH: Hyperparameters and Model Validation Bias/variance tradeoff, model validation, cross-validation, and hyperparameters See also slides |
Week 5 | Bias-variance trade-off, linear regression | 3 hours | Bias/variance tradeoff, model validation, cross-validation, and hyperparameters See also slides Skim Section 5.04 of PDSH: Feature Engineering Bias/variance tradeoff, model validation, cross-validation, and hyperparameters See also slides Section 5.06 of PDSH: In Depth: Linear Regression Linear Regression–Lasso and Ridge Regression |
Week 6 | Classification, logistic regression, SVMs | 3 hours | Hands-on data analysis, problem set help Classification, logistic regression Problem set 2 is due Linear and Logistic regression (SLO1, SLO2, SLO3, SLO5, SLO6) Section 5.07 of PDSH: In-Depth: Support Vector Machines Support vector machines |
Week 7 | SVMs continued, Random Forests | 3 hours | Hands-on SVMs Work through one of these: - Tutorial: image classification with scikit-learn - Remote Sensed Hyperspectral Image Classification With The Extended Morphological Profiles and Support Vector Machines - Image Classification Using Machine Learning-Support Vector Machine(SVM) Section 5.08 of PDSH: Decision Trees and Random Forests Decision Trees and Random Forests Problem set 3 is due Support Vector Machines (SLO1, SLO2, SLO3, SLO5, SLO6) Problem set 4 available, due Friday, March 8 Random Forests and Ensemble Methods |
Week 8 | More Ensemble methods, XGBoost. Clustering Algorithms. | 3 hours | Papers with[out] code: Kumar et al. Sustainability 2022, 14(21), 13998; https://doi.org/10.3390/su142113998 Discuss and implement the paper. Section 5.11 of PDSH: k-Means Clustering Clustering algorithms – K-means Section 5.11 of PDSH: k-Means Clustering Clustering algorithms – K-means |
Week 9 | Intro to Artificial Neural Networks | 3 hours | Intro to Artificial Neural Networks: Lecture 05 and Notebook Multi-Layer Neural Networks Problem set 4 due CLustering methods (SLO1, SLO2, SLO3, SLO5, SLO6) Convolutional Neural Networks and Lect_06 |
Week 10 | Computer vision with Convolutional Neural Networks | 3 hours | More CNNs Transfer Learning Generative AI – (e.g., Denoising, novel discovery) |
Week 11 | Natural language processing and the rise of Transformers | 3 hours | Natural Language Processing Natural Language Processing Problem Set 5 due CNN application (SLO1, SLO2, SLO3, SLO5, SLO6) Mamba and Custom Kernels Vision Transformers intro and option 1 Vision Transformers on Casava diseases |
Week 12 | Transformer architecture in depth | 3 hours | Transformers AlphaFold background Alphafold in Colab |
Week 13 | Transformers and what’s new in AI? | 3 hours | Transformers Multimodal AI Problem set 6 due (graduate students only) Transformer exercise (SLO1, SLO2, SLO3, SLO5, SLO6) Multimodal AI |
Week 14 | Finish up projects | 3 hours | Project time (team designed AI project) (SLO1, SLO2, SLO3, SLO5, SLO6) |
Week 15 | Present projects | 2 hours | Project Presentations (SLO1, SLO2, SLO3, SLO5, SLO6) |
Software and Hardware
- Participants will need a computer with internet connection for all classes.
- Several free/open source software packages will be used throughout the course, and students will be required to install some of these.
- Students will use a (free) Research Computing account to access HiPerGator for coursework.
- Students will be required to apply for a (free) Github.com account for coursework.
- If you have technical difficulties with Canvas, please contact the UF Helpdesk at:
- http://helpdesk.ufl.edu
- (352) 392-HELP (4357)
- Walk-in: HUB 132
Any requests for make-ups due to technical issues should be accompanied by the ticket number received from the Help Desk when the problem was reported to them. The ticket number will document the time and date of the problem. Please e-mail the instructor within 24 hours of the technical difficulty if you wish to request a make-up.
All faculty, staff and student of the University are required and expected to obey the laws and legal agreements governing software use. Failure to do so can lead to monetary damages and/or criminal penalties for the individual violator. Because such violations are also against University policies and rules, disciplinary action will be taken as appropriate.
Grading
Assignment Values
See also the List of Graded Work page.
Item | Undergraduate Points (% of total) | Graduate Points (% of total) |
---|---|---|
Problem Sets | 5 @ 20 points each: 100 points (74%) | 6 @ 30 points each: 180 points (73%) |
GitHub Assignment | 5 points (4%) | 5 points (2%) |
Class Project | 20 points (15%) | 40 points (16%) |
Project presentation | 10 points (7%) | 20 points (8%) |
Total | 135 (100%) | 245 (100%) |
Undergraduates will have 5 problem sets worth 20 points each and slightly less weighting on the project. Graduates will have one extra question for each problem set (making each worth 30 points), one extra problem set and slightly higher weighting on the project.
Grading in this class is consistent with UF policies available at: https://catalog.ufl.edu/UGRD/academic-regulations/grades-grading-policies/
The dispute should clearly set out the grade that the student believes the assignment should have received as well as why they believe that they should have received such a grade.
Some assignments may be resubmitted for revision. We may suggest a resubmission, or a student may ask for the opportunity to resubmit. Our goal in allowing resubmission is to give students a chance to learn the material. A meeting to discuss the material is generally expected prior to resubmission.
A | A- | B+ | B | B- | C+ | C | C- | D+ | D | D- | F |
---|---|---|---|---|---|---|---|---|---|---|---|
100-93 (4.0) |
<93-90 (3.67) |
<90-87 (3.33) |
<87-83 (3.0) |
<83-80 (2.67) |
<80-77 (2.33) |
<77-73 (2.0) |
<73-70 (1.67) |
<70-67 (1.33) |
<67-63 (1.0) |
<63-60 (0.67) |
<60 (0) |
Student Learning Outcomes
By the end of the course, students will be able to:
- Summarize major events in the history of AI from the 1950s to present.
- Proficiently launching Jupyter Notebooks on HiPerGator, requesting appropriate resources for the task.
- Analyze and visualize complex tabular data with NumPy, Pandas, and matplotlib
- Calculate linear regression using machine learning approaches with Scikit-learn
- Explain the bias/variance tradeoff
- Assess ML/AI models, conduct cross-validation and tune hyperparameters
- Apply support vector machines, decision trees, random forests and ensemble methods to analyze data
- Code a simple single-neuron perceptron from scratch
- Code multi-layer neural networks using Keras/Tensorflow
- Conduct computer vision experiments using convolutional neural networks
- Conduct time series data with recurrent neural networks
- Apply transfer learning
- Identify key concepts in natural language processing, including tokenization, word embeddings, and the rise of transformer architectures.
- Apply transformers to computer vision tasks
- Conduct protein folding folding prediction using transformer architectures
Course Policies
Class Attendance and Makeup Policy
Requirements for class attendance and makeup assignments, and other work in this course are consistent with university policies that can be found in the online catalog at: https://catalog.ufl.edu/UGRD/academic-regulations/attendance-policies/
In general, we do not take attendance. You are all adults and we assume you are taking the class the learn. The best way to learn is to regularly attend class. We are sure students will miss class for various reasons. We are happy to help you catch up. If you regularly miss class and fall behind, we may ask that you hold questions on content you have missed until after class, or ask that you coordinate a time to go over the content. We will make every effort to record and post all classes to help those that miss classes.
Assignment Policy
Assignment dates will be announced at least one week in advance and students will have at least three days to complete the assignment. Each assignment will clearly state if it is an individual or group assignment. Individual assignments must be the student’s own work, completed without the assistance of others.
All assignments are “open book, open internet”, you may use whatever resources you desire to complete the assignment. Though only assignments specifically noted as group assignments should be worked on with other people.
Makeup and Late policy
Please notify the instructors of circumstances that lead to late work or missed classes. We will generally work with you and accept late work. All assignments are designed for both your own learning and my assessment of your efforts. Much of the course builds on previous sections and falling behind on assignments will make it harder to keep up. If you need help, please ask! Our goal is for all students to learn the material and we understand that some students will need more help than others. The grade is based on the end product, not the amount of time and help needed to get there.
Students Requiring Accommodations
Students with disabilities who experience learning barriers and would like to request academic accommodations should connect with the disability Resource Center. Click here to get started with the Disability Resource Center. It is important for students to share their accommodation letter with their instructor and discuss their access needs, as early as possible in the semester.
Course Evaluation
Students are expected to provide professional and respectful feedback on the quality of instruction in this course by completing course evaluations online via GatorEvals. Guidance on how to give feedback in a professional and respectful manner is available at gatorevals.aa.ufl.edu/students/. Students will be notified when the evaluation period opens, and can complete evaluations through the email they receive from GatorEvals, in their Canvas course menu under GatorEvals, or via ufl.bluera.com/ufl/. Summaries of course evaluation results are available to students at gatorevals.aa.ufl.edu/public-results/.
Class Demeanor and Netiquette
Students are expected to be in class on time and behave in a manner that is respectful to the instructors and to fellow students.
Opinions held by other students should be respected in discussion, and conversations that do not contribute to the discussion should be held at minimum, if at all.
Students should be working on course content during class.
Discussion Boards
The GitHub discussion boards can be used to ask for and provide help by all. Students should be supportive and considerate of others at all times. Rude or inappropriate comments will be removed and the poster will be warned.
University Honesty Policy
UF students are bound by The Honor Pledge which states:
We, the members of the University of Florida community, pledge to hold ourselves and our peers to the highest standards of honor and integrity by abiding by the Honor Code. On all work submitted for credit by students at the University of Florida, the following pledge is either required or implied: “On my honor, I have neither given nor received unauthorized aid in doing this assignment.” The Conduct Code specifies a number of behaviors that are in violation of this code and the possible sanctions. Click here to read the Conduct Code. If you have any questions or concerns, please consult with the instructor.
- UF Counseling & Wellness Center, 3190 Radio Rd, 392-1575, psychological and psychiatric services.
- Provides counseling and support as well as crisis and wellness services including a variety of workshops throughout the semester (e.g., Yappy Hour, Relaxation and Resilience).
- Many students experience test anxiety and other stress related problems. “A Self Help Guide for Students” is available through the Counseling Center (301 Peabody Hall, 392-1575) and at their web site: https://counseling.ufl.edu/.
- U Matter, We Care: If you or a friend is in distress, please contact umatter@ufl.edu or 352 392-1575 so that a team member can reach out to the student.
- University Police Department: 392-1111 or 9-1-1 for emergencies. https://www.police.ufl.edu/
- Sexual Assault Recovery Services (SARS): Student Health Care Center, 392-1161.
- Student Health Care Center: Call 352-392-1161 for 24/7 information to help you find the care you need, or visit https://shcc.ufl.edu/
- Food insecurity: The Pantry is a resource on the University of Florida campus committed to supporting students, staff, and faculty who are experiencing food insecurity. These individuals do not have reliable access to nutritious foods for themselves and their families. If you, or anyone you know, is experiencing food insecurity, the Pantry is a resource to visit. We offer non-perishable food, toiletries and fresh produce grown at the Field and Fork Gardens during certain times of the year. There is no proof of need required in order to shop at the Pantry; you must only bring in your valid UFID card. At the Pantry, we know that a good meal makes for a good student, and we work to support all Gators who are experiencing food insecurity. Field & Fork Food Pantry.
- UF Health Shands Emergency Room / Trauma Center: For immediate medical care call 352-733-0111 or go to the emergency room at 1515 SW Archer Road, Gainesville, FL 32608; Visit the UF Health Emergency Room and Trauma Center website.
- GatorWell Health Promotion Services: For prevention services focused on optimal wellbeing, including Wellness Coaching for Academic Success, visit the GatorWell website or call 352-273-4450.
</ul>
</div>
</div>
</div>
</div>
___
## Inclusive Learning Environment
This course embraces the University of Florida’s Non-Discrimination Policy, which reads:
> The University shall actively promote equal opportunity policies and practices conforming to laws against discrimination. The University is committed to nondiscrimination with respect to race, creed, color, religion, age, disability, sex, sexual orientation, gender identity and expression, marital status, national origin, political opinions or affiliations, genetic information and veteran status as protected under the Vietnam Era Veterans’ Readjustment Assistance Act.
If you have questions or concerns about your rights and responsibilities for inclusive learning environment, please see the instructor or refer to the Office of Multicultural & Diversity Affairs website: [http://multicultural.ufl.edu](http://multicultural.ufl.edu).
___
## Privacy
There are federal laws protecting your privacy with regards to grades earned in courses and on individual assignments. For more information, please see: [https://registrar.ufl.edu/ferpa.html](https://registrar.ufl.edu/ferpa.html)
___
## Statement Regarding Course Recording
Our class sessions may be audio visually recorded for students in the class to refer back to and for use of enrolled students who are unable to attend live. Students who participate with their camera engaged or utilize a profile image are agreeing to have their video or image recorded. If you are unwilling to consent to have your profile or video image recorded, keep your camera off and do not use a profile image. Likewise, students who un-mute during class and participate verbally are agreeing to have their voices recorded. If you are unwilling to consent to have your voice recorded during class, you will need to keep your mute button activated. As in all courses, unauthorized recording and unauthorized sharing of recorded materials is prohibited.
Students are allowed to record video or audio of class lectures. However, the purposes for which these recordings may be used are strictly controlled. The only allowable purposes are (1) for personal educational use, (2) in connection with a complaint to the university, or (3) as evidence in, or in preparation for, a criminal or civil proceeding. All other purposes are prohibited. Specifically, students may not publish recorded lectures without the written consent of the instructor.
A “class lecture” is an educational presentation intended to inform or teach enrolled students about a particular subject, including any instructor-led discussions that form part of the presentation, and delivered by any instructor hired or appointed by the University, or by a guest instructor, as part of a University of Florida course. A class lecture does not include lab sessions, student presentations, clinical presentations such as patient history, academic exercises involving solely student participation, assessments (quizzes, tests, exams), field trips, private conversations between students in the class or between a student and the faculty or guest lecturer during a class session.
Publication without permission of the instructor is prohibited. To “publish” means to share, transmit, circulate, distribute, or provide access to a recording, regardless of format or medium, to another person (or persons), including but not limited to another student within the same class section. Additionally, a recording, or transcript of a recording, is considered published if it is posted on or uploaded to, in whole or in part, any media platform, including but not limited to social media, book, magazine, newspaper, leaflet, or third party note/tutoring services. A student who publishes a recording without written consent may be subject to a civil cause of action instituted by a person injured by the publication and/or discipline under UF Regulation 4.040 Student Honor Code and Student Conduct Code.
___
Dean of Students Office
Dean of Students Office (352-392-1261) provides a variety of services to students and families, including Field and Fork (UF’s food pantry) and New Student and Family programs</p>Disability Resource Center
- Disability Resource Center (DRCaccessUF@ufsa.ufl.edu | 352-392-8565) helps to provide an accessible learning environment for all by providing support services and facilitating accommodations, which may vary from course to course. Once registered with DRC, students will receive an accommodation letter that must be presented to the instructor when requesting accommodations. Students should follow this procedure as early as possible in the semester.
Multicultural and Diversity Affairs
Multicultural and Diversity Affairs (352-294-7850) celebrates and empowers diverse communities and advocates for an inclusive campus.
Office of Student Veteran Services
Office of Student Veteran Services (352-294-2948 | vacounselor@ufl.edu) assists student military veterans with access to benefits.
ONE.UF
ONE.UF is the home of all the student self-service applications, including access to:
- Advising
- Bursar (352-392-0181)
- Financial Aid (352-392-1275)
- Registrar (352-392-1374)
Official Sources of Rules and Regulations
The official source of rules and regulations for UF students is the Undergraduate Catalog and Graduate Catalog. Quick links to other information have also been provided below.
- Student Handbook
- Student Responsibilities, including academic honesty and student conduct code
Academic Resources
- e-Learning Supported Services Policies includes links to relevant policies including Acceptable Use, Privacy, and many more
- Accessibility, including the Electronic Information Technology Accessibility Policy and ADA Compliance
- Student Computing Requirements, including minimum and recommended technology requirements and competencies
- E-learning technical support: Contact the UF Computing Help Desk at 352-392-4357 or via e-mail at helpdesk@ufl.edu.
- Career Connections Center: Reitz Union Suite 1300, 352-392-1601. Career assistance and counseling services.
- Library Support: Various ways to receive assistance with respect to using the libraries or finding resources.
- Teaching Center: Broward Hall, 352-392-2010 or to make an appointment 352- 392-6420. General study skills and tutoring.
- Writing Studio: 2215 Turlington Hall, 352-846-1138. Help brainstorming, formatting, and writing papers.
- Student Complaints On-Campus: Visit the Student Honor Code and Student Conduct Code webpage for more information.
- On-Line Students Complaints: View the Distance Learning Student Complaint Process. </ul>
Procedure for Conflict Resolution
Any classroom issues, disagreements or grade disputes should be discussed first between the instructor and the student. If the problem cannot be resolved, please contact the (Under)Graduate Coordinator or the Department Chair. Be prepared to provide documentation of the problem, as well as all graded materials for the semester. Issues that cannot be resolved departmentally will be referred to the University Ombuds Office (http://www.ombuds.ufl.edu; 392-1308) or the Dean of Students Office (http://www.dso.ufl.edu; 392-1261). For further information refer to https://www.dso.ufl.edu/documents/UF_Complaints_policy.pdf (for residential classes) or http://www.distance.ufl.edu/student-complaintprocess (for online classes). </div> </div> </div> </div>