├── Gemfile ├── assets └── images │ ├── yunan-luo.jpg │ └── xiuwei-zhang.png ├── _announcements ├── week-0.md └── week-1.md ├── _layouts ├── module.html ├── announcement.html ├── staffer.html ├── schedule.html └── minimal.html ├── _modules ├── module-01.md ├── module-04.md ├── module-06.md ├── module-02.md ├── module-05.md └── module-03.md ├── _staffers ├── yunan-luo.md └── xiuwei-zhang.md ├── .gitignore ├── _sass └── custom │ ├── announcement.scss │ ├── staffer.scss │ ├── card.scss │ ├── module.scss │ ├── schedule.scss │ └── custom.scss ├── calendar.md ├── .github └── ISSUE_TEMPLATE │ ├── config.yml │ ├── feature_request.md │ └── bug_report.md ├── schedule.md ├── announcements.md ├── staff.md ├── _includes └── minutes.liquid ├── LICENSE ├── _schedules └── weekly.md ├── _config.yml ├── index.md ├── about.md └── README.md /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | gem 'github-pages', group: :jekyll_plugins 3 | -------------------------------------------------------------------------------- /assets/images/yunan-luo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/spring2022/main/assets/images/yunan-luo.jpg -------------------------------------------------------------------------------- /assets/images/xiuwei-zhang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/renzibei/spring2022/main/assets/images/xiuwei-zhang.png -------------------------------------------------------------------------------- /_announcements/week-0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Week 0 Announcement 3 | week: 0 4 | date: 2019-04-01 5 | --- 6 | 7 | Hello world! 8 | {: .fs-5 } 9 | -------------------------------------------------------------------------------- /_layouts/module.html: -------------------------------------------------------------------------------- 1 |

{{ page.title }}

2 |
3 | {{ content }} 4 |
5 | -------------------------------------------------------------------------------- /_modules/module-01.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Introduction 3 | --- 4 | 5 | Jan 10 6 | : Introduction & Logistics 7 | : **OH**{: .label .label-purple } Hosted by Zhang at 2:10-3:10 PM -------------------------------------------------------------------------------- /_staffers/yunan-luo.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Yunan Luo 3 | role: Instructor 4 | email: yunan@gatech.edu 5 | website: https://yunan.cs.illinois.edu/ 6 | photo: yunan-luo.jpg 7 | --- -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | .bundle/ 3 | .jekyll-cache/ 4 | .jekyll-metadata 5 | .sass-cache/ 6 | Gemfile.lock 7 | _site/ 8 | node_modules/ 9 | vendor/ 10 | 11 | # VS Code 12 | .vscode -------------------------------------------------------------------------------- /_staffers/xiuwei-zhang.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Xiuwei Zhang 3 | role: Instructor 4 | email: xiuwei.zhang@gatech.edu 5 | website: https://xiuweizhang.wordpress.com/ 6 | photo: xiuwei-zhang.png 7 | --- -------------------------------------------------------------------------------- /_sass/custom/announcement.scss: -------------------------------------------------------------------------------- 1 | .announcement { 2 | @extend %card; 3 | 4 | h1, h2 { 5 | @extend .text-gamma; 6 | } 7 | 8 | .announcement-meta { 9 | @extend .text-epsilon; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /calendar.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Calendar 4 | description: Listing of course modules and topics. 5 | --- 6 | 7 | # Calendar 8 | 9 | {% for module in site.modules %} 10 | {{ module }} 11 | {% endfor %} 12 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Ask a question 4 | url: https://github.com/kevinlin1/just-the-class/discussions 5 | about: Ask questions and discuss with other community members 6 | -------------------------------------------------------------------------------- /schedule.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Schedule 4 | description: The weekly event schedule. 5 | nav_exclude: true 6 | --- 7 | 8 | # Weekly Schedule 9 | 10 | {% for schedule in site.schedules %} 11 | {{ schedule }} 12 | {% endfor %} 13 | -------------------------------------------------------------------------------- /_layouts/announcement.html: -------------------------------------------------------------------------------- 1 |
2 |

{{ page.title }}

3 | 4 | {% if page.date %} 5 | {{ page.date | date: '%b %e' }} 6 | · 7 | {% endif %} 8 | {% assign minutes = content | strip_html | number_of_words | divided_by: 180.0 | round %} 9 | {{ minutes }} min read 10 | 11 |
12 | {{ content }} 13 |
14 |
15 | -------------------------------------------------------------------------------- /_sass/custom/staffer.scss: -------------------------------------------------------------------------------- 1 | .staffer { 2 | display: flex; 3 | margin: $sp-4; 4 | 5 | .staffer-image { 6 | border-radius: 50%; 7 | height: 100px; 8 | margin-right: $sp-4; 9 | } 10 | 11 | p, 12 | .staffer-name { 13 | margin: $sp-1 !important; 14 | } 15 | 16 | .staffer-pronouns { 17 | @extend .label, .text-grey-dk-100, .bg-grey-lt-200; 18 | } 19 | 20 | .staffer-meta { 21 | @extend .text-grey-dk-000; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /announcements.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Announcements 4 | nav_exclude: true 5 | description: A feed containing all of the class announcements. 6 | --- 7 | 8 | # Announcements 9 | 10 | Announcements are stored in the `_announcements` directory and rendered according to the layout file, `_layouts/announcement.html`. 11 | 12 | {% assign announcements = site.announcements | reverse %} 13 | {% for announcement in announcements %} 14 | {{ announcement }} 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /_modules/module-04.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Learning from structure data 3 | --- 4 | 5 | Feb 28 6 | : RNA structure prediction 7 | : Yunan Luo 8 | : **OH**{: .label .label-purple } Hosted by Luo at 2:10-3:10 PM 9 | 10 | Mar 2 11 | : Deep learning for structures (protein structure prediction) 12 | : Yunan Luo 13 | 14 | Mar 6 15 | : **HW3**{: .label .label-red } due by 11:59 PM 16 | 17 | Mar 7 18 | : Student presentation 7-9 19 | : **OH**{: .label .label-purple } Hosted by Luo at 2:10-3:10 PM 20 | -------------------------------------------------------------------------------- /_modules/module-06.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Student presentations 3 | --- 4 | 5 | Apr 4 6 | : Student presentation 13-15 7 | : **OH**{: .label .label-purple } Hosted by Luo at 2:10-3:10 PM 8 | 9 | Apr 6 10 | : Student presentation 16-18 11 | 12 | Apr 10 13 | : **HW5**{: .label .label-red } due by 11:59 PM 14 | 15 | Apr 11 16 | : Student presentation 19-21 17 | 18 | Apr 13 19 | : Student presentation 22-24 20 | 21 | Apr 18 22 | : Student presentation 25-27 23 | 24 | Apr 20 25 | : Student presentation 28-30 26 | 27 | Apr 25 28 | : Student presentation 31-33 -------------------------------------------------------------------------------- /_announcements/week-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Week 1 Announcement 3 | week: 1 4 | date: 2019-04-08 5 | --- 6 | 7 | 1. Create a [new repository based on Just the Class](https://github.com/kevinlin1/just-the-class/generate). 8 | 1. Configure a [publishing source for GitHub Pages](https://help.github.com/en/articles/configuring-a-publishing-source-for-github-pages). Your course website is now live! 9 | 1. Update `_config.yml` with your course information. 10 | 1. Edit and create `.md` [Markdown files](https://guides.github.com/features/mastering-markdown/) to add your content. 11 | -------------------------------------------------------------------------------- /_modules/module-02.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Learning from sequence data 3 | --- 4 | 5 | Jan 12 6 | : Dynamic programming & sequence alignment I 7 | : Xiuwei Zhang 8 | 9 | Jan 17 10 | : No class (MLK day) 11 | 12 | Jan 19 13 | : Sequence alignment II 14 | : Xiuwei Zhang 15 | 16 | Jan 24 17 | : HMM & gene/motif finding 18 | : Xiuwei Zhang 19 | : **OH**{: .label .label-purple } Hosted by Zhang at 2:10-3:10 PM 20 | 21 | Jan 26 22 | : HMM & Profile HMM 23 | : Xiuwei Zhang 24 | 25 | Jan 30 26 | : **HW1**{: .label .label-red } due by 11:59 PM 27 | 28 | Jan 31 29 | : Deep learning for DNA/protein sequence 30 | : Yunan Luo 31 | : **OH**{: .label .label-purple } Hosted by Luo at 2:10-3:10 PM -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /_modules/module-05.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Learning from network data 3 | --- 4 | 5 | Mar 9 6 | : Network basics & traditinal ML for graphs 7 | : Yunan Luo 8 | 9 | Mar 14 10 | : Network embeddings 11 | : Yunan Luo 12 | : **OH**{: .label .label-purple } Hosted by Luo at 2:10-3:10 PM 13 | 14 | Mar 16 15 | : Student presentation 10-12 16 | 17 | Mar 20 18 | : **HW4**{: .label .label-red } due by 11:59 PM 19 | 20 | Mar 21 21 | : No class (Spring break) 22 | 23 | Mar 23 24 | : No class (Spring break) 25 | 26 | Mar 28 27 | : Graphical Models 28 | : Yunan Luo 29 | : **OH**{: .label .label-purple } Hosted by Luo at 2:10-3:10 PM 30 | 31 | Mar 30 32 | : Deep learning for networks (graph neural networks) 33 | : Yunan Luo 34 | -------------------------------------------------------------------------------- /_modules/module-03.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Learning from high-dim data 3 | --- 4 | 5 | Feb 2 6 | : PCA, autoencoder & VAE 7 | : Yunan Luo 8 | 9 | Feb 7 10 | : MDS, tSNE, UMAP 11 | : Xiuwei Zhang 12 | : **OH**{: .label .label-purple } Hosted by Zhang at 2:10-3:10 PM 13 | 14 | Feb 9 15 | : Clustering I 16 | : Xiuwei Zhang 17 | 18 | Feb 13 19 | : **HW2**{: .label .label-red } due by 11:59 PM 20 | 21 | Feb 14 22 | : Clustering II 23 | : Xiuwei Zhang 24 | : **OH**{: .label .label-purple } Hosted by Zhang at 2:10-3:10 PM 25 | 26 | Feb 16 27 | : Clustering III 28 | : Xiuwei Zhang 29 | 30 | Feb 21 31 | : Student presentation 1-3 32 | : **OH**{: .label .label-purple } Hosted by Zhang at 2:10-3:10 PM 33 | 34 | Feb 23 35 | : Student presentation 4-6 -------------------------------------------------------------------------------- /_sass/custom/card.scss: -------------------------------------------------------------------------------- 1 | @mixin abstract-card() { 2 | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07), 0 4px 14px rgba(0, 0, 0, 0.05); 3 | margin: $sp-4 (-$gutter-spacing-sm); 4 | 5 | @include mq(md) { 6 | border-radius: $border-radius; 7 | margin: $sp-4 0; 8 | } 9 | } 10 | 11 | %card { 12 | @include abstract-card(); 13 | display: flex; 14 | flex-direction: column; 15 | min-width: 0; 16 | padding: 0 $sp-4; 17 | position: relative; 18 | word-wrap: break-word; 19 | 20 | >:first-child { 21 | border-top: none !important; 22 | } 23 | 24 | >:last-child { 25 | border-bottom: none !important; 26 | } 27 | 28 | .label { 29 | border-radius: $border-radius; 30 | margin-left: 0; 31 | user-select: none; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /staff.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: Staff 4 | description: A listing of all the course staff members. 5 | nav_exclude: true 6 | --- 7 | 8 | # Staff 9 | 10 | Staff information is stored in the `_staffers` directory and rendered according to the layout file, `_layouts/staffer.html`. 11 | 12 | ## Instructors 13 | 14 | {% assign instructors = site.staffers | where: 'role', 'Instructor' %} 15 | {% for staffer in instructors %} 16 | {{ staffer }} 17 | {% endfor %} 18 | 19 | {% assign teaching_assistants = site.staffers | where: 'role', 'Teaching Assistant' %} 20 | {% assign num_teaching_assistants = teaching_assistants | size %} 21 | {% if num_teaching_assistants != 0 %} 22 | ## Teaching Assistants 23 | 24 | {% for staffer in teaching_assistants %} 25 | {{ staffer }} 26 | {% endfor %} 27 | {% endif %} 28 | -------------------------------------------------------------------------------- /_includes/minutes.liquid: -------------------------------------------------------------------------------- 1 | {% capture _minutes_workspace %} 2 | {% comment %} 3 | Return the number of minutes between midnight and the given time string (e.g. '9:30 AM'). 4 | 5 | Parameters: 6 | `time` (string): the time to convert. 7 | {% endcomment %} 8 | 9 | {% assign _time = include.time %} 10 | {% assign _hhmm = _time | split: ' ' | first | split: ':' %} 11 | {% assign _hours = _hhmm | first | to_integer %} 12 | {% assign _minutes = _hhmm | last | to_integer %} 13 | {% assign _ampm = _time | split: ' ' | last | upcase %} 14 | 15 | {% if _ampm == 'AM' and _hours == 12 %} 16 | {% assign _hours = _hours | minus: 12 %} 17 | {% elsif _ampm == 'PM' and _hours != 12 %} 18 | {% assign _hours = _hours | plus: 12 %} 19 | {% endif %} 20 | {% endcapture %}{% assign _minutes_workspace = '' %}{{ _hours | times: 60 | plus: _minutes }} 21 | -------------------------------------------------------------------------------- /_layouts/staffer.html: -------------------------------------------------------------------------------- 1 |
2 | {% if page.photo %} 3 | 4 | {% endif %} 5 |
6 |

7 | {% if page.website %} 8 | {{ page.name }} 9 | {% else %} 10 | {{ page.name }} 11 | {% endif %} 12 | {% if page.pronouns %} 13 | {{ page.pronouns }} 14 | {% endif %} 15 |

16 | {% if page.email %} 17 |

{{ page.email }}

18 | {% endif %} 19 | {% if page.section %} 20 |

Quiz Section: {{ page.section | markdownify | strip_html }}

21 | {% endif %} 22 | {% if page.office-hours %} 23 |

Office Hours: {{ page.office-hours | markdownify | strip_html }}

24 | {% endif %} 25 | {{ content }} 26 |
27 |
28 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Kevin Lin 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /_schedules/weekly.md: -------------------------------------------------------------------------------- 1 | --- 2 | timeline: 3 | - '9:00 AM' 4 | - '9:30 AM' 5 | - '10:00 AM' 6 | - '10:30 AM' 7 | - '11:00 AM' 8 | - '11:30 AM' 9 | - '12:00 PM' 10 | - '12:30 PM' 11 | - '1:00 PM' 12 | - '1:30 PM' 13 | - '2:00 PM' 14 | - '2:30 PM' 15 | - '3:00 PM' 16 | - '3:30 PM' 17 | - '4:00 PM' 18 | - '4:30 PM' 19 | - '5:00 PM' 20 | - '5:30 PM' 21 | schedule: 22 | - name: Monday 23 | events: 24 | - name: Lecture 25 | start: 9:30 AM 26 | end: 10:30 AM 27 | location: 150 Wheeler 28 | - name: Section 29 | start: 11:30 AM 30 | end: 12:30 PM 31 | location: 310 Soda 32 | - name: Office Hours 33 | start: 12:30 PM 34 | end: 2:00 PM 35 | location: 271 Soda 36 | - name: Tuesday 37 | - name: Wednesday 38 | events: 39 | - name: Lecture 40 | start: 9:30 AM 41 | end: 10:30 AM 42 | location: 150 Wheeler 43 | - name: Section 44 | start: 11:30 AM 45 | end: 12:30 PM 46 | location: 310 Soda 47 | - name: Office Hours 48 | start: 12:30 PM 49 | end: 2:00 PM 50 | location: 271 Soda 51 | - name: Thursday 52 | - name: Friday 53 | events: 54 | - name: Lecture 55 | start: 9:30 AM 56 | end: 10:30 AM 57 | location: 150 Wheeler 58 | - name: Section 59 | start: 11:30 AM 60 | end: 12:30 PM 61 | location: 310 Soda 62 | - name: Office Hours 63 | start: 12:30 PM 64 | end: 2:00 PM 65 | location: 271 Soda 66 | --- 67 | -------------------------------------------------------------------------------- /_layouts/schedule.html: -------------------------------------------------------------------------------- 1 | {% assign start_time = page.timeline | first %} 2 | {% capture offset %}{% include minutes.liquid time=start_time %}{% endcapture %} 3 |
4 | 9 | 34 |
35 | -------------------------------------------------------------------------------- /_sass/custom/module.scss: -------------------------------------------------------------------------------- 1 | .main-content .module, 2 | .module { 3 | @extend %card; 4 | 5 | h1, 6 | h2, 7 | h3, 8 | h4, 9 | h5, 10 | h6 { 11 | &:first-child { 12 | margin-top: $sp-4; 13 | } 14 | } 15 | 16 | >dl { 17 | border-bottom: $border $border-color; 18 | border-top: $border $border-color; 19 | display: grid; 20 | grid-template-columns: max-content 1fr; 21 | margin: $sp-2 (-$sp-4); 22 | 23 | &:first-child { 24 | margin-top: 0; 25 | } 26 | 27 | &:last-child { 28 | margin-bottom: 0; 29 | } 30 | 31 | @include mq(lg) { 32 | grid-template-columns: 1fr 7fr; 33 | } 34 | 35 | %module-item { 36 | margin: 0; 37 | padding: $sp-2; 38 | 39 | @include mq(sm) { 40 | padding: $sp-2 $sp-4; 41 | } 42 | } 43 | 44 | >dt { 45 | @extend %module-item; 46 | border-top: $border $border-color; 47 | font-weight: normal; 48 | text-align: right; 49 | 50 | +dd { 51 | border-top: $border $border-color; 52 | } 53 | 54 | &:first-child { 55 | border-top: none; 56 | 57 | +dd { 58 | border-top: none; 59 | } 60 | } 61 | 62 | &::after { 63 | content: ":"; 64 | } 65 | } 66 | 67 | >dd { 68 | @extend %module-item; 69 | 70 | +dd { 71 | padding-top: 0; 72 | } 73 | 74 | ol, ul, dl { 75 | margin: 0; 76 | } 77 | 78 | dl { 79 | display: flex; 80 | flex-direction: column; 81 | 82 | @include mq(sm) { 83 | flex-direction: row; 84 | } 85 | 86 | dt { 87 | flex: 0 0 62.5%; 88 | margin: 0; 89 | } 90 | 91 | dd { 92 | margin: 0; 93 | } 94 | } 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Welcome to Jekyll! 2 | # 3 | # This config file is meant for settings that affect your whole site, values 4 | # which you are expected to set up once and rarely edit after that. If you find 5 | # yourself editing these this file very often, consider using Jekyll's data files 6 | # feature for the data you need to update frequently. 7 | # 8 | # For technical reasons, this file is *NOT* reloaded automatically when you use 9 | # 'jekyll serve'. If you change this file, please restart the server process. 10 | 11 | # Site settings 12 | # These are used to personalize your new site. If you look in the HTML files, 13 | # you will see them accessed via {{ site.title }}, {{ site.github_repo }}, and so on. 14 | # You can create any custom variable you would like, and they will be accessible 15 | # in the templates via {{ site.myvariable }}. 16 | title: CSE8803/CX4803 MLB 17 | tagline: Machine Learning for Computational Biology 18 | description: CSE8803/CX4803 MLB, Spring 2022 19 | author: Yunan Luo 20 | # baseurl: '/just-the-class' # the subpath of your site, e.g. /blog 21 | # url: http://localhost # 'https://kevinl.info' # the base hostname & protocol for your site, e.g. http://example.com 22 | exclude: ["Gemfile", "Gemfile.lock", "LICENSE", "README.md"] 23 | 24 | # Theme settings 25 | remote_theme: pmarsceill/just-the-docs@v0.3.3 26 | color_scheme: light 27 | search_enabled: true 28 | heading_anchors: true 29 | permalink: pretty 30 | footer_content: 31 | 32 | # Collections for website data 33 | collections: 34 | staffers: 35 | modules: 36 | schedules: 37 | announcements: 38 | # Default layouts for each collection type 39 | defaults: 40 | - scope: 41 | path: '' 42 | type: staffers 43 | values: 44 | layout: staffer 45 | subpath: '/assets/images/' 46 | - scope: 47 | path: '' 48 | type: modules 49 | values: 50 | layout: module 51 | - scope: 52 | path: '' 53 | type: schedules 54 | values: 55 | layout: schedule 56 | - scope: 57 | path: '' 58 | type: announcements 59 | values: 60 | layout: announcement 61 | 62 | compress_html: 63 | clippings: all 64 | comments: all 65 | endings: all 66 | startings: [] 67 | blanklines: false 68 | profile: false 69 | 70 | plugins: 71 | - jekyll-seo-tag 72 | -------------------------------------------------------------------------------- /_sass/custom/schedule.scss: -------------------------------------------------------------------------------- 1 | .schedule { 2 | @include abstract-card(); 3 | overflow-x: scroll; 4 | position: relative; 5 | 6 | li::before { 7 | display: none; 8 | } 9 | 10 | ul.schedule-timeline, 11 | ul.schedule-group, 12 | ul.schedule-events { 13 | margin-top: 0; 14 | padding-left: 0; 15 | } 16 | 17 | ul.schedule-timeline { 18 | margin: 40px auto 0; 19 | position: absolute; 20 | width: 100%; 21 | } 22 | 23 | .schedule-time { 24 | @extend .fs-2; 25 | color: $grey-dk-000; 26 | height: 40px; 27 | margin: 0; 28 | padding: $sp-2; 29 | position: relative; 30 | 31 | &::after { 32 | background-color: $border-color; 33 | content: ''; 34 | height: 1px; 35 | left: 0; 36 | position: absolute; 37 | top: 0; 38 | width: 100%; 39 | } 40 | } 41 | 42 | .schedule-group { 43 | display: flex; 44 | margin-bottom: 0; 45 | position: relative; 46 | } 47 | 48 | .schedule-day { 49 | border-left: $border $border-color; 50 | flex: 1 0 0; 51 | margin: 0; 52 | min-width: 130px; 53 | 54 | &:first-of-type { 55 | border-left: 0; 56 | } 57 | } 58 | 59 | h2.schedule-header { 60 | align-items: center; 61 | display: flex; 62 | font-size: 18px !important; 63 | height: 40px; 64 | justify-content: center; 65 | margin: 0; 66 | } 67 | 68 | .schedule-events { 69 | display: flex; 70 | padding: 0; 71 | position: relative; 72 | } 73 | 74 | .schedule-event { 75 | background-color: $grey-dk-000; 76 | border-radius: $border-radius; 77 | box-shadow: 0 10px 20px rgba(0, 0, 0, .1), inset 0 -3px 0 rgba(0, 0, 0, .2); 78 | color: $white; 79 | float: left; 80 | height: 100%; 81 | margin: 0; 82 | padding: $sp-1 $sp-2; 83 | position: absolute; 84 | width: 100%; 85 | 86 | .name { 87 | @extend .fs-3, .fw-700; 88 | } 89 | 90 | .time, 91 | .location { 92 | @extend .fs-2; 93 | } 94 | 95 | &.lecture { 96 | background-color: $grey-dk-000; 97 | } 98 | 99 | &.section { 100 | background-color: $purple-000; 101 | } 102 | 103 | &.office-hours { 104 | background-color: $blue-000; 105 | } 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: home 3 | title: Home 4 | nav_order: 1 5 | seo: 6 | type: Course 7 | name: {{ site.title }} 8 | --- 9 | 10 | # {{ site.tagline }} 11 | {: .mb-2 } 12 | {{ site.description }} 13 | {: .fs-6 .fw-300 } 14 | 15 | 19 | 20 | ## Instructors 21 | {% assign instructors = site.staffers | sort: 'index' %} {% for staffer in instructors %} {{ staffer }} {% endfor %} 22 | 23 | ## Information 24 | - **Time**: Monday and Wednesday, 12:30-1:45 PM 25 | - **Location**: Klaus 2443 26 | - **Teaching assistants**: Hira Anis ([hanis3@gatech.edu](mailto:hanis3@gatech.edu)); Hechen Li ([hli691@gatech.edu](mailto:hli691@gatech.edu)) 27 | - **Instructor office hours**: Monday 2:10-3:10 PM (weeks 1-13) or by appointment (weeks 14-16). Meeting link on Canvas. 28 | - **TA office hours**: TBA. 29 | 30 | ## Course description 31 | 32 | This graduate-level course focuses on the exciting intersection between machine learning and computational biology. We will cover modern machine learning techniques, including supervised and unsupervised learning, feature selection, probabilistic modeling, graphical models, deep learning, and more. Students will learn the development of the theoretical concepts for these methods and the applications of these methods to a variety of biological problems in genomics, single-cell analyses, structural biology, and system biology. Students will also learn to implement deep learning models through assignments. This course is appropriate for graduate students or advanced undergraduate students in computer science, bioinformatics, biomedical engineering, mathematics, and statistics. Familiarity with basic linear algebra, statistics, probability and algorithms is expected. Background knowledge in data analytics will be helpful for this course. Students are also expected to have a programming experience. 33 | 34 | ## Evaluation 35 | 36 | Students will be evaluated based on homework assignments, paper presentations, and final exam. There will be 5 homeworks throughout the semester (programming assignments may be included in the homeworks). Each student is expected to present one paper (alone or in a team, depending on the final number of students). Your grade will be based on the following criteria (Grade curving is possible if needed): 37 | - Homework 50% 38 | - Paper presentation 20% 39 | - Take-home final exam 25% 40 | - Participation: 5% 41 | -------------------------------------------------------------------------------- /_sass/custom/custom.scss: -------------------------------------------------------------------------------- 1 | // Just the Class dependencies 2 | @import 'card'; 3 | 4 | // Just the Class styles 5 | @import 'announcement'; 6 | @import 'module'; 7 | @import 'schedule'; 8 | @import 'staffer'; 9 | 10 | // Overrides 11 | a abbr[title] { 12 | border-bottom: none; 13 | } 14 | 15 | abbr[title] { 16 | text-decoration: none; 17 | } 18 | 19 | code { 20 | font-size: 14px; 21 | padding: 0.2em 0.4em; 22 | border: none; 23 | } 24 | 25 | div.highlighter-rouge[overlay] { 26 | position: relative; 27 | 28 | &::after { 29 | @extend .label, .text-grey-dk-100; 30 | 31 | background-color: $white; 32 | border-radius: $border-radius; 33 | bottom: $sp-2; 34 | content: attr(overlay); 35 | position: absolute; 36 | right: 0; 37 | user-select: none; 38 | } 39 | } 40 | 41 | details { 42 | margin: 0 40px 1em; 43 | } 44 | 45 | h1, h2, h3, h4, h5, h6 { 46 | align-items: center; 47 | display: flex; 48 | } 49 | 50 | iframe, 51 | summary { 52 | max-width: 100%; 53 | } 54 | 55 | summary { 56 | @extend .btn, .btn-outline; 57 | } 58 | 59 | .main-content-wrap { 60 | max-width: $content-width; 61 | margin: auto; 62 | } 63 | 64 | .main-content { 65 | a { 66 | overflow-wrap: anywhere; 67 | white-space: normal; 68 | } 69 | 70 | dl { 71 | display: block; 72 | grid-template-columns: none; 73 | } 74 | 75 | dt { 76 | font-weight: 700; 77 | text-align: start; 78 | 79 | &::after { 80 | content: normal; 81 | } 82 | } 83 | 84 | dd { 85 | font-weight: normal; 86 | 87 | + dt { 88 | margin-top: 1em; 89 | } 90 | } 91 | 92 | .katex { 93 | font-size: 1.1em; 94 | } 95 | } 96 | 97 | [style*="--aspect-ratio"] > :first-child { 98 | width: 100%; 99 | } 100 | 101 | [style*="--aspect-ratio"] > img { 102 | height: auto; 103 | } 104 | 105 | @supports (--custom:property) { 106 | [style*="--aspect-ratio"] { 107 | position: relative; 108 | } 109 | 110 | [style*="--aspect-ratio"]::before { 111 | content: ""; 112 | display: block; 113 | padding-bottom: calc(100% / (var(--aspect-ratio))); 114 | } 115 | 116 | [style*="--add-height"]::before { 117 | padding-bottom: calc(100% / (var(--aspect-ratio)) + (var(--add-height))); 118 | } 119 | 120 | [style*="--aspect-ratio"] > :first-child { 121 | position: absolute; 122 | top: 0; 123 | left: 0; 124 | height: 100%; 125 | } 126 | } 127 | -------------------------------------------------------------------------------- /about.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: About 4 | description: >- 5 | Course policies and information. 6 | nav_exclude: true 7 | --- 8 | 9 | # About 10 | {:.no_toc} 11 | 12 | ## Table of contents 13 | {: .no_toc .text-delta } 14 | 15 | 1. TOC 16 | {:toc} 17 | 18 | --- 19 | 20 | ## About 21 | 22 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Aliquam ut porttitor leo a diam. Erat nam at lectus urna duis convallis convallis tellus id. Pellentesque elit eget gravida cum sociis natoque penatibus et magnis. Ultrices vitae auctor eu augue ut lectus arcu. Morbi tristique senectus et netus et malesuada. Turpis tincidunt id aliquet risus feugiat in ante. Consequat interdum varius sit amet mattis vulputate enim nulla. Felis eget nunc lobortis mattis aliquam. Eu non diam phasellus vestibulum lorem sed risus. A condimentum vitae sapien pellentesque habitant morbi tristique. Orci dapibus ultrices in iaculis nunc sed augue lacus viverra. Proin sagittis nisl rhoncus mattis rhoncus urna neque. Dictum varius duis at consectetur lorem donec massa sapien. Blandit cursus risus at ultrices mi tempus imperdiet. Laoreet sit amet cursus sit amet dictum sit amet justo. Felis eget nunc lobortis mattis aliquam faucibus. Nam aliquam sem et tortor consequat. 23 | 24 | ## Lecture 25 | 26 | Tempus iaculis urna id volutpat lacus laoreet non curabitur gravida. Vulputate dignissim suspendisse in est ante in. Massa vitae tortor condimentum lacinia quis vel. Gravida neque convallis a cras semper auctor. Pellentesque eu tincidunt tortor aliquam nulla. Quam adipiscing vitae proin sagittis nisl rhoncus mattis rhoncus urna. Sit amet purus gravida quis blandit turpis cursus in. Porttitor leo a diam sollicitudin tempor. Vel facilisis volutpat est velit egestas dui id ornare. Cum sociis natoque penatibus et magnis. Tristique magna sit amet purus gravida. Nibh sit amet commodo nulla facilisi nullam vehicula. Aenean vel elit scelerisque mauris pellentesque pulvinar pellentesque. Id semper risus in hendrerit gravida. Sit amet justo donec enim diam vulputate ut pharetra sit. Vitae justo eget magna fermentum. Tellus in metus vulputate eu. Pellentesque id nibh tortor id aliquet lectus proin nibh nisl. Etiam erat velit scelerisque in dictum non consectetur a erat. Pellentesque eu tincidunt tortor aliquam nulla. 27 | 28 | ## Resources 29 | 30 | Lacus viverra vitae congue eu. Suspendisse in est ante in nibh mauris cursus mattis. Nisl vel pretium lectus quam id leo in. Euismod lacinia at quis risus sed vulputate odio. Non enim praesent elementum facilisis. Aliquet sagittis id consectetur purus ut faucibus pulvinar elementum integer. Id interdum velit laoreet id donec ultrices tincidunt arcu. Urna molestie at elementum eu facilisis sed odio. Auctor urna nunc id cursus metus aliquam eleifend. Volutpat commodo sed egestas egestas fringilla phasellus. Libero nunc consequat interdum varius sit amet mattis. Imperdiet nulla malesuada pellentesque elit eget gravida cum sociis natoque. Tortor vitae purus faucibus ornare suspendisse. Auctor elit sed vulputate mi. 31 | 32 | ## Assignments 33 | 34 | Vehicula ipsum a arcu cursus vitae congue. Etiam dignissim diam quis enim lobortis scelerisque fermentum dui. Risus sed vulputate odio ut enim blandit. Aliquam id diam maecenas ultricies mi eget. Id consectetur purus ut faucibus pulvinar elementum integer enim neque. Eget mi proin sed libero enim sed faucibus. Sem integer vitae justo eget magna fermentum iaculis. In mollis nunc sed id semper risus in. Sit amet risus nullam eget felis eget. Mattis ullamcorper velit sed ullamcorper morbi tincidunt ornare massa eget. Nascetur ridiculus mus mauris vitae ultricies leo integer malesuada. Porta non pulvinar neque laoreet suspendisse interdum consectetur libero id. At varius vel pharetra vel turpis nunc eget. Scelerisque purus semper eget duis at tellus. 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Just the Class 2 | 3 | Just the Class is a GitHub Pages template developed for the purpose of quickly deploying course websites. In addition to serving plain web pages and files, it provides a boilerplate for: 4 | 5 | - a [course calendar](calendar.md), 6 | - a [staff](staff.md) page, 7 | - and a weekly [schedule](schedule.md). 8 | 9 | Just the Class is a set of customizations on top of the popular [Just the Docs](https://github.com/pmarsceill/just-the-docs) theme, which provides a robust and thoroughly-tested foundation that makes it easy to extend for your own special use cases. These foundational features include: 10 | 11 | - automatic [navigation structure](https://pmarsceill.github.io/just-the-docs/docs/navigation-structure/), 12 | - instant, full-text [search](https://pmarsceill.github.io/just-the-docs/docs/search/) and page indexing, 13 | - and a small but powerful set of [UI components](https://pmarsceill.github.io/just-the-docs/docs/ui-components) and authoring [utilities](https://pmarsceill.github.io/just-the-docs/docs/utilities). 14 | 15 | ## Getting Started 16 | 17 | Getting started with Just the Class is simple. 18 | 19 | 1. Create a [new repository based on Just the Class](https://github.com/kevinlin1/just-the-class/generate). 20 | 1. Update `_config.yml` and `index.md` with your course information. 21 | 1. Configure a [publishing source for GitHub Pages](https://help.github.com/en/articles/configuring-a-publishing-source-for-github-pages). Your course website is now live! 22 | 1. Edit and create `.md` [Markdown files](https://guides.github.com/features/mastering-markdown/) to add your content. 23 | 24 | Just the Class has been used by instructors at Stanford University ([CS 161](https://stanford-cs161.github.io/winter2021/)), UC Berkeley ([Data 100](https://ds100.org/fa21/)), UC Santa Barbara ([DS1](https://ucsb-ds.github.io/ds1-f20/)), Northeastern University ([CS4530/5500](https://neu-se.github.io/CS4530-CS5500-Spring-2021/)), and Carnegie Mellon University ([17-450/17-950](https://cmu-crafting-software.github.io/)). For a few open-source examples, see the following course websites and their source code. 25 | 26 | - [CSE 390HA](https://courses.cs.washington.edu/courses/cse390ha/20au/) ([source code](https://gitlab.cs.washington.edu/cse390ha/20au/website)) is an example of a single-page website that centers modules. 27 | - [CSE 143](https://courses.cs.washington.edu/courses/cse143/20au/) ([source code](https://gitlab.cs.washington.edu/cse143/20au/website)) hosts an entire online textbook with full-text search. 28 | - [CSE 373](https://courses.cs.washington.edu/courses/cse373/21su/) ([source code](https://gitlab.cs.washington.edu/cse373-root/21su/website)) is an example of a simple website combining Markdown pages with generated HTML files. 29 | 30 | Share your course website and find more examples in the [show and tell discussion](https://github.com/kevinlin1/just-the-class/discussions/categories/show-and-tell)! 31 | 32 | Continue reading to learn how to setup a development environment on your local computer. This allows you to make incremental changes without directly modifying the live website. 33 | 34 | ### Local development environment 35 | 36 | Just the Class is built for [Jekyll](https://jekyllrb.com), a static site generator. View the [quick start guide](https://jekyllrb.com/docs/) for more information. Just the Docs requires no special Jekyll plugins and can run on GitHub Pages' standard Jekyll compiler. 37 | 38 | 1. Follow the GitHub documentation for [Setting up your GitHub Pages site locally with Jekyll](https://help.github.com/en/articles/setting-up-your-github-pages-site-locally-with-jekyll). 39 | 1. Start your local Jekyll server. 40 | ```bash 41 | $ bundle exec jekyll serve 42 | ``` 43 | 1. Point your web browser to [http://localhost:4000](http://localhost:4000) 44 | 1. Reload your web browser after making a change to preview its effect. 45 | 46 | For more information, refer to [Just the Docs](https://pmarsceill.github.io/just-the-docs/). 47 | -------------------------------------------------------------------------------- /_layouts/minimal.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: table_wrappers 3 | --- 4 | 5 | 6 | 7 | 8 | {% include head.html %} 9 | 10 | 11 | 12 | Link 13 | 14 | 15 | 16 | 17 | 18 | 19 | {% capture nav %} 20 | {% if site.just_the_docs.collections %} 21 | {% assign collections_size = site.just_the_docs.collections | size %} 22 | {% for collection_entry in site.just_the_docs.collections %} 23 | {% assign collection_key = collection_entry[0] %} 24 | {% assign collection_value = collection_entry[1] %} 25 | {% assign collection = site[collection_key] %} 26 | {% if collection_value.nav_exclude != true %} 27 | {% include nav.html pages=collection %} 28 | {% endif %} 29 | {% endfor %} 30 | {% else %} 31 | {% include nav.html pages=site.html_pages %} 32 | {% endif %} 33 | {% endcapture %} 34 | 35 |
36 | {% unless page.url == "/" %} 37 | {% if page.parent %} 38 | {%- for node in pages_list -%} 39 | {%- if node.parent == nil -%} 40 | {%- if page.parent == node.title or page.grand_parent == node.title -%} 41 | {%- assign first_level_url = node.url | absolute_url -%} 42 | {%- endif -%} 43 | {%- if node.has_children -%} 44 | {%- assign children_list = pages_list | where: "parent", node.title -%} 45 | {%- for child in children_list -%} 46 | {%- if page.url == child.url or page.parent == child.title -%} 47 | {%- assign second_level_url = child.url | absolute_url -%} 48 | {%- endif -%} 49 | {%- endfor -%} 50 | {%- endif -%} 51 | {%- endif -%} 52 | {%- endfor -%} 53 | 64 | {% endif %} 65 | {% endunless %} 66 |
67 | {% if site.heading_anchors != false %} 68 | {% include vendor/anchor_headings.html html=content beforeHeading="true" anchorBody="" anchorClass="anchor-heading" %} 69 | {% else %} 70 | {{ content }} 71 | {% endif %} 72 | 73 | {% if page.has_children == true and page.has_toc != false %} 74 |
75 |

Table of contents

76 | 84 | {% endif %} 85 | 86 | {% capture footer_custom %} 87 | {%- include footer_custom.html -%} 88 | {% endcapture %} 89 | {% if footer_custom != "" or site.last_edit_timestamp or site.gh_edit_link %} 90 |
91 | 119 | {% endif %} 120 | 121 |
122 |
123 | 124 | 125 | --------------------------------------------------------------------------------