shanep-class 1.0.27 → 1.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/_includes/anchor_headings.html +164 -0
- data/_layouts/course.html +1 -1
- data/_layouts/syllabus.html +387 -0
- data/index.html +2 -320
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 388a4e981a3bad530d7775af55a2423fd4265f05b2f2beeedca4d10f1dcca868
|
4
|
+
data.tar.gz: 53e0b041a5589a3259a4af02e1ce28e8882c9256a809c2e78e5a8d6d480e1e7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b36911efe9a27fc8c229b313caff3157b74e8f29c1929d96d0a86b9eca2db67c1ab15c8c41b04081dda2569e63049f9c5308a197e20e5d0a40c2d34310fe2e7
|
7
|
+
data.tar.gz: 3c5d07ebeb864d3a978fa132e20433ca94c2ec00faa3535126c1dd4f476cbad9fe021fb2d9e5d37f9875bc5c0bf8cccdae0c3262c219e490f5509b4e09b507c4
|
@@ -0,0 +1,164 @@
|
|
1
|
+
{% capture headingsWorkspace %}
|
2
|
+
{% comment %}
|
3
|
+
Copyright (c) 2018 Vladimir "allejo" Jimenez
|
4
|
+
Permission is hereby granted, free of charge, to any person
|
5
|
+
obtaining a copy of this software and associated documentation
|
6
|
+
files (the "Software"), to deal in the Software without
|
7
|
+
restriction, including without limitation the rights to use,
|
8
|
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the
|
10
|
+
Software is furnished to do so, subject to the following
|
11
|
+
conditions:
|
12
|
+
The above copyright notice and this permission notice shall be
|
13
|
+
included in all copies or substantial portions of the Software.
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
16
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
18
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
19
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
20
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
21
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
{% endcomment %}
|
23
|
+
{% comment %}
|
24
|
+
Version 1.0.11
|
25
|
+
https://github.com/allejo/jekyll-anchor-headings
|
26
|
+
"Be the pull request you wish to see in the world." ~Ben Balter
|
27
|
+
Usage:
|
28
|
+
{% include anchor_headings.html html=content anchorBody="#" %}
|
29
|
+
Parameters:
|
30
|
+
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
|
31
|
+
Optional Parameters:
|
32
|
+
* beforeHeading (bool) : false - Set to true if the anchor should be placed _before_ the heading's content
|
33
|
+
* headerAttrs (string) : '' - Any custom HTML attributes that will be added to the heading tag; you may NOT use `id`;
|
34
|
+
the `%heading%` and `%html_id%` placeholders are available
|
35
|
+
* anchorAttrs (string) : '' - Any custom HTML attributes that will be added to the `<a>` tag; you may NOT use `href`, `class` or `title`;
|
36
|
+
the `%heading%` and `%html_id%` placeholders are available
|
37
|
+
* anchorBody (string) : '' - The content that will be placed inside the anchor; the `%heading%` placeholder is available
|
38
|
+
* anchorClass (string) : '' - The class(es) that will be used for each anchor. Separate multiple classes with a space
|
39
|
+
* anchorTitle (string) : '' - The `title` attribute that will be used for anchors
|
40
|
+
* h_min (int) : 1 - The minimum header level to build an anchor for; any header lower than this value will be ignored
|
41
|
+
* h_max (int) : 6 - The maximum header level to build an anchor for; any header greater than this value will be ignored
|
42
|
+
* bodyPrefix (string) : '' - Anything that should be inserted inside of the heading tag _before_ its anchor and content
|
43
|
+
* bodySuffix (string) : '' - Anything that should be inserted inside of the heading tag _after_ its anchor and content
|
44
|
+
* generateId (true) : false - Set to true if a header without id should generate an id to use.
|
45
|
+
Output:
|
46
|
+
The original HTML with the addition of anchors inside of all of the h1-h6 headings.
|
47
|
+
{% endcomment %}
|
48
|
+
|
49
|
+
{% assign minHeader = include.h_min | default: 1 %}
|
50
|
+
{% assign maxHeader = include.h_max | default: 6 %}
|
51
|
+
{% assign beforeHeading = include.beforeHeading %}
|
52
|
+
{% assign headerAttrs = include.headerAttrs %}
|
53
|
+
{% assign nodes = include.html | split: '<h' %}
|
54
|
+
|
55
|
+
{% capture edited_headings %}{% endcapture %}
|
56
|
+
|
57
|
+
{% for _node in nodes %}
|
58
|
+
{% capture node %}{{ _node | strip }}{% endcapture %}
|
59
|
+
|
60
|
+
{% if node == "" %}
|
61
|
+
{% continue %}
|
62
|
+
{% endif %}
|
63
|
+
|
64
|
+
{% assign nextChar = node | replace: '"', '' | strip | slice: 0, 1 %}
|
65
|
+
{% assign headerLevel = nextChar | times: 1 %}
|
66
|
+
|
67
|
+
<!-- If the level is cast to 0, it means it's not a h1-h6 tag, so let's see if we need to fix it -->
|
68
|
+
{% if headerLevel == 0 %}
|
69
|
+
<!-- Split up the node based on closing angle brackets and get the first one. -->
|
70
|
+
{% assign firstChunk = node | split: '>' | first %}
|
71
|
+
|
72
|
+
<!-- If the first chunk does NOT contain a '<', that means we've broken another HTML tag that starts with 'h' -->
|
73
|
+
{% unless firstChunk contains '<' %}
|
74
|
+
{% capture node %}<h{{ node }}{% endcapture %}
|
75
|
+
{% endunless %}
|
76
|
+
|
77
|
+
{% capture edited_headings %}{{ edited_headings }}{{ node }}{% endcapture %}
|
78
|
+
{% continue %}
|
79
|
+
{% endif %}
|
80
|
+
|
81
|
+
{% capture _closingTag %}</h{{ headerLevel }}>{% endcapture %}
|
82
|
+
{% assign _workspace = node | split: _closingTag %}
|
83
|
+
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
|
84
|
+
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
|
85
|
+
{% assign escaped_header = header | strip_html | strip %}
|
86
|
+
|
87
|
+
{% assign _classWorkspace = _workspace[0] | split: 'class="' %}
|
88
|
+
{% assign _classWorkspace = _classWorkspace[1] | split: '"' %}
|
89
|
+
{% assign _html_class = _classWorkspace[0] %}
|
90
|
+
|
91
|
+
{% if _html_class contains "no_anchor" %}
|
92
|
+
{% assign skip_anchor = true %}
|
93
|
+
{% else %}
|
94
|
+
{% assign skip_anchor = false %}
|
95
|
+
{% endif %}
|
96
|
+
|
97
|
+
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
|
98
|
+
{% if _idWorkspace[1] %}
|
99
|
+
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
|
100
|
+
{% assign html_id = _idWorkspace[0] %}
|
101
|
+
{% elsif include.generateId %}
|
102
|
+
<!-- If the header did not have an id we create one. -->
|
103
|
+
{% assign html_id = escaped_header | slugify %}
|
104
|
+
{% if html_id == "" %}
|
105
|
+
{% assign html_id = false %}
|
106
|
+
{% endif %}
|
107
|
+
{% capture headerAttrs %}{{ headerAttrs }} id="%html_id%"{% endcapture %}
|
108
|
+
{% endif %}
|
109
|
+
|
110
|
+
<!-- Build the anchor to inject for our heading -->
|
111
|
+
{% capture anchor %}{% endcapture %}
|
112
|
+
|
113
|
+
{% if skip_anchor == false and html_id and headerLevel >= minHeader and headerLevel <= maxHeader %}
|
114
|
+
{% if headerAttrs %}
|
115
|
+
{% capture _hAttrToStrip %}{{ _hAttrToStrip | split: '>' | first }} {{ headerAttrs | replace: '%heading%', escaped_header | replace: '%html_id%', html_id }}>{% endcapture %}
|
116
|
+
{% endif %}
|
117
|
+
|
118
|
+
{% capture anchor %}href="#{{ html_id }}"{% endcapture %}
|
119
|
+
|
120
|
+
{% if include.anchorClass %}
|
121
|
+
{% capture anchor %}{{ anchor }} class="{{ include.anchorClass }}"{% endcapture %}
|
122
|
+
{% endif %}
|
123
|
+
|
124
|
+
{% if include.anchorTitle %}
|
125
|
+
{% capture anchor %}{{ anchor }} title="{{ include.anchorTitle | replace: '%heading%', escaped_header }}"{% endcapture %}
|
126
|
+
{% endif %}
|
127
|
+
|
128
|
+
{% if include.anchorAttrs %}
|
129
|
+
{% capture anchor %}{{ anchor }} {{ include.anchorAttrs | replace: '%heading%', escaped_header | replace: '%html_id%', html_id }}{% endcapture %}
|
130
|
+
{% endif %}
|
131
|
+
|
132
|
+
{% capture anchor %}<a {{ anchor }}>{{ include.anchorBody | replace: '%heading%', escaped_header | default: '' }}</a>{% endcapture %}
|
133
|
+
|
134
|
+
<!-- In order to prevent adding extra space after a heading, we'll let the 'anchor' value contain it -->
|
135
|
+
{% if beforeHeading %}
|
136
|
+
{% capture anchor %}{{ anchor }} {% endcapture %}
|
137
|
+
{% else %}
|
138
|
+
{% capture anchor %} {{ anchor }}{% endcapture %}
|
139
|
+
{% endif %}
|
140
|
+
{% endif %}
|
141
|
+
|
142
|
+
{% capture new_heading %}
|
143
|
+
<h{{ _hAttrToStrip }}
|
144
|
+
{{ include.bodyPrefix }}
|
145
|
+
{% if beforeHeading %}
|
146
|
+
{{ anchor }}{{ header }}
|
147
|
+
{% else %}
|
148
|
+
{{ header }}{{ anchor }}
|
149
|
+
{% endif %}
|
150
|
+
{{ include.bodySuffix }}
|
151
|
+
</h{{ headerLevel }}>
|
152
|
+
{% endcapture %}
|
153
|
+
|
154
|
+
<!--
|
155
|
+
If we have content after the `</hX>` tag, then we'll want to append that here so we don't lost any content.
|
156
|
+
-->
|
157
|
+
{% assign chunkCount = _workspace | size %}
|
158
|
+
{% if chunkCount > 1 %}
|
159
|
+
{% capture new_heading %}{{ new_heading }}{{ _workspace | last }}{% endcapture %}
|
160
|
+
{% endif %}
|
161
|
+
|
162
|
+
{% capture edited_headings %}{{ edited_headings }}{{ new_heading }}{% endcapture %}
|
163
|
+
{% endfor %}
|
164
|
+
{% endcapture %}{% assign headingsWorkspace = '' %}{{ edited_headings | strip }}
|
data/_layouts/course.html
CHANGED
@@ -0,0 +1,387 @@
|
|
1
|
+
---
|
2
|
+
layout: course
|
3
|
+
---
|
4
|
+
|
5
|
+
{% assign tableFile = site.data.semester-info %}
|
6
|
+
|
7
|
+
<img src={{"/assets/images/home_page.png"}} alt="Course Logo">
|
8
|
+
|
9
|
+
<h2 id="welcome">Welcome!</h2>
|
10
|
+
|
11
|
+
{% include youtube.html param= tableFile.welcome-video %}
|
12
|
+
|
13
|
+
<p>
|
14
|
+
{{tableFile.welcome-message}}
|
15
|
+
</p>
|
16
|
+
|
17
|
+
{% assign one_day = 1 | times: 24 | times: 60 | times: 60 %}
|
18
|
+
{% assign two_days = 2 | times: 24 | times: 60 | times: 60 %}
|
19
|
+
{% assign three_days = 3 | times: 24 | times: 60 | times: 60 %}
|
20
|
+
{% assign four_days = 4 | times: 24 | times: 60 | times: 60 %}
|
21
|
+
|
22
|
+
|
23
|
+
{% if tableFile.start-day == "monday" %}
|
24
|
+
{% assign curr_date = tableFile.start-date | date: "%s" | minus: four_days%}
|
25
|
+
{% elsif tableFile.start-day == "tuesday" %}
|
26
|
+
{% assign curr_date = tableFile.start-date | date: "%s" | minus: three_days%}
|
27
|
+
{% elsif tableFile.start-day == "wednesday" %}
|
28
|
+
{% assign curr_date = tableFile.start-date | date: "%s" | minus: two_days%}
|
29
|
+
{% elsif tableFile.start-day == "thursday" %}
|
30
|
+
{% assign curr_date = tableFile.start-date | date: "%s" | minus: one_day %}
|
31
|
+
{% endif%}
|
32
|
+
|
33
|
+
<div>
|
34
|
+
<h2 id="homework">Weekly Homework</h2>
|
35
|
+
<p>
|
36
|
+
The table below shows everything that is due this semester! Barring any cataclysmic events such as a
|
37
|
+
<a href="https://en.wikipedia.org/wiki/COVID-19">global pandemic,</a> nothing will be added,
|
38
|
+
removed, or changed in the schedule below.
|
39
|
+
</p>
|
40
|
+
<table style="margin:auto;height: 100%; width: 100%;">
|
41
|
+
<thead>
|
42
|
+
<tr>
|
43
|
+
<th class="text-center">Week</th>
|
44
|
+
<th>Due Date</th>
|
45
|
+
<th>Homework</th>
|
46
|
+
<th>Points</th>
|
47
|
+
</tr>
|
48
|
+
</thead>
|
49
|
+
|
50
|
+
<tbody>
|
51
|
+
{% assign curr_week = 1 %}
|
52
|
+
{% assign curr_module = "none" %}
|
53
|
+
|
54
|
+
{% assign loop_counter = 1 %}
|
55
|
+
{% assign pgs = site.lessons | sort: 'slug' %}
|
56
|
+
{% assign total_points = 0%}
|
57
|
+
{% for page in pgs %}
|
58
|
+
{% if page.path contains "lesson" %}
|
59
|
+
{% assign loop_counter = loop_counter | plus: 1 %}
|
60
|
+
{% if curr_module != page.tag %}
|
61
|
+
<!--Module header-->
|
62
|
+
<tr>
|
63
|
+
<td colspan="4" class="text-center table-darkish">{{page.tag | capitalize }}</td>
|
64
|
+
</tr>
|
65
|
+
{% assign curr_module = page.tag %}
|
66
|
+
{% endif%}
|
67
|
+
{% if page.layout == "reading-zybooks" %}
|
68
|
+
{% assign page_title = site.data.semester-info.reading[page.slug] %}
|
69
|
+
{% else%}
|
70
|
+
{% assign page_title = page.title %}
|
71
|
+
{% endif %}
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
{% if curr_week == tableFile.break %}
|
76
|
+
<!--Add in the break week, we need to grab the next lesson before inserting new week-->
|
77
|
+
<tr>
|
78
|
+
{% assign curr_date = curr_date | date: "%s" | plus: two_days %}
|
79
|
+
<td>{{curr_date | date: "%m/%d - %a"}}</td>
|
80
|
+
<td><a href="{{site.url}}{{page.url}}">{{page_title}}</a> <span class="small-text">{{page.slug}}</span>{%if page.layout == "lab"%} <a class="no-dec" href="{{site.data.semester-info.labs[page.slug]}}">🧪</a> {%elsif page.layout == "project" %} 📡 {% endif%} {%if page.video %}<a class="no-dec" href=https://www.youtube.com/watch?v={{page.video}}>📺 </a>{% endif %}</td>
|
81
|
+
<td>{{page.points}}</td>
|
82
|
+
{% assign total_points = total_points | plus: page.points %}
|
83
|
+
</tr>
|
84
|
+
<tr>
|
85
|
+
<td rowspan= 2 class="table-lightish text-center border">
|
86
|
+
{% assign curr_date = curr_date | date: "%s" | plus: three_days %}
|
87
|
+
{{curr_week}}
|
88
|
+
</td>
|
89
|
+
{% assign curr_date = curr_date | date: "%s" | plus: two_days %}
|
90
|
+
<td>{{curr_date | date: "%m/%d - %a"}}</td>
|
91
|
+
<td>Break</td>
|
92
|
+
</tr>
|
93
|
+
<tr>
|
94
|
+
{% assign curr_date = curr_date | date: "%s" | plus: two_days %}
|
95
|
+
<td>{{curr_date | date: "%m/%d - %a"}}</td>
|
96
|
+
<td>Break</td>
|
97
|
+
</tr>
|
98
|
+
{% assign curr_week = curr_week | plus: 1 %}
|
99
|
+
{%else%}
|
100
|
+
|
101
|
+
<tr>
|
102
|
+
{% comment %}
|
103
|
+
Need to keep track of our own loop counter to filter out docs don't use forloop.index
|
104
|
+
{% endcomment %}
|
105
|
+
{% assign tmp = loop_counter | modulo: 2 %}
|
106
|
+
{% if tmp == 0 %}
|
107
|
+
<td rowspan= 2 class="table-lightish text-center border">
|
108
|
+
{% assign curr_date = curr_date | date: "%s" | plus: three_days %}
|
109
|
+
{{curr_week}}
|
110
|
+
{% assign curr_week = curr_week | plus: 1 %}
|
111
|
+
</td>
|
112
|
+
{% endif %}
|
113
|
+
{% assign curr_date = curr_date | date: "%s" | plus: two_days %}
|
114
|
+
<td>{{curr_date | date: "%m/%d - %a"}}</td>
|
115
|
+
<td><a href="{{site.url}}{{page.url}}">{{page_title}}</a> <span class="small-text">{{page.slug}}</span>{%if page.layout == "lab"%} <a class="no-dec" href="{{site.data.semester-info.labs[page.slug]}}">🧪</a> {%elsif page.layout == "project" %} 📡 {% endif%} {%if page.video %}<a class="no-dec" href=https://www.youtube.com/watch?v={{page.video}}>📺 </a>{% endif %}</td>
|
116
|
+
<td>{{page.points}}</td>
|
117
|
+
{% assign total_points = total_points | plus: page.points %}
|
118
|
+
</tr>
|
119
|
+
{%endif%}
|
120
|
+
{% endif %}
|
121
|
+
{% endfor%}
|
122
|
+
</tbody>
|
123
|
+
<tfoot>
|
124
|
+
<tr>
|
125
|
+
<td colspan="3" class="table-lightish">Total Points:</td>
|
126
|
+
<td class="table-lightish">{{total_points}}</td>
|
127
|
+
</tr>
|
128
|
+
</tfoot>
|
129
|
+
</table>
|
130
|
+
|
131
|
+
<h2 id="catalog-description">Catalog description</h2>
|
132
|
+
|
133
|
+
{{tableFile.catalog}}
|
134
|
+
|
135
|
+
<h2 id="final-grades">Grading Policy</h2>
|
136
|
+
|
137
|
+
<p>
|
138
|
+
{% assign example_grade = total_points | times: 76 | divided_by: 100 %}
|
139
|
+
|
140
|
+
Final grades will be assigned with the formula [Earned Points]/[Total Points].
|
141
|
+
</p>
|
142
|
+
<p>
|
143
|
+
For example if you earn {{example_grade}} points out of {{total_points}} points offered your
|
144
|
+
grade would be a {{example_grade | times: 100 | divided_by: total_points }}%. So your final
|
145
|
+
letter grade will be a C according to the chart below. <strong>Grades will not be
|
146
|
+
rounded</strong>, if you are on a grade boundary please see the <a
|
147
|
+
href="#extra-credit-opportunities">extra credit</a> section below for opportunities to improve
|
148
|
+
your grade.
|
149
|
+
</p>
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
<table>
|
154
|
+
<thead>
|
155
|
+
<tr>
|
156
|
+
<th>Percentage</th>
|
157
|
+
<th>Letter</th>
|
158
|
+
</tr>
|
159
|
+
</thead>
|
160
|
+
<tbody>
|
161
|
+
<tr>
|
162
|
+
<td>94% < 100%</td>
|
163
|
+
<td>A</td>
|
164
|
+
</tr>
|
165
|
+
<tr>
|
166
|
+
<td>90% < 94%</td>
|
167
|
+
<td>A-</td>
|
168
|
+
</tr>
|
169
|
+
<tr>
|
170
|
+
<td>87% < 90%</td>
|
171
|
+
<td>B+</td>
|
172
|
+
</tr>
|
173
|
+
<tr>
|
174
|
+
<td>84% < 87%</td>
|
175
|
+
<td>B</td>
|
176
|
+
</tr>
|
177
|
+
<tr>
|
178
|
+
<td>80% < 84%</td>
|
179
|
+
<td>B-</td>
|
180
|
+
</tr>
|
181
|
+
<tr>
|
182
|
+
<td>77% < 80%</td>
|
183
|
+
<td>C+</td>
|
184
|
+
</tr>
|
185
|
+
<tr>
|
186
|
+
<td>74% < 77%</td>
|
187
|
+
<td>C</td>
|
188
|
+
</tr>
|
189
|
+
<tr>
|
190
|
+
<td>70% < 74%</td>
|
191
|
+
<td>C-</td>
|
192
|
+
</tr>
|
193
|
+
<tr>
|
194
|
+
<td>67% < 70%</td>
|
195
|
+
<td>D+</td>
|
196
|
+
</tr>
|
197
|
+
<tr>
|
198
|
+
<td>64% < 67%</td>
|
199
|
+
<td>D</td>
|
200
|
+
</tr>
|
201
|
+
<tr>
|
202
|
+
<td>60% < 64%</td>
|
203
|
+
<td>D-</td>
|
204
|
+
</tr>
|
205
|
+
<tr>
|
206
|
+
<td>0 < 60%</td>
|
207
|
+
<td>F</td>
|
208
|
+
</tr>
|
209
|
+
</tbody>
|
210
|
+
</table>
|
211
|
+
|
212
|
+
<h3 id="can-i-still-pass">Can I still pass?</h3>
|
213
|
+
|
214
|
+
<p>
|
215
|
+
The passing grade for courses in the Computer Science Department is 70%. So we can calculate the
|
216
|
+
absolute minimum number of points that you need to earn in this course as {{total_points |
|
217
|
+
times: 70 | divided_by: 100 | plus: 1}}. To know if you still can pass the course all you need
|
218
|
+
to do is take your current grade and then add in any points that you could still earn before the
|
219
|
+
end of the semester. If that number is below {{total_points | times: 70 | divided_by: 100 |
|
220
|
+
plus: 1}} then it is not mathematically possible for you to pass the class.
|
221
|
+
</p>
|
222
|
+
|
223
|
+
<h3 id="incomplete">Incomplete</h3>
|
224
|
+
|
225
|
+
<p>
|
226
|
+
Instructors can enter a grade of I—for incomplete—if both of the following conditions are present:
|
227
|
+
</p>
|
228
|
+
<ul>
|
229
|
+
<li>
|
230
|
+
You have completed either 80% of the course or 80% of the coursework.
|
231
|
+
</li>
|
232
|
+
<li>
|
233
|
+
Extenuating circumstances make it impossible for you to complete the course before the end of the semester.
|
234
|
+
</li>
|
235
|
+
</ul>
|
236
|
+
|
237
|
+
<p>
|
238
|
+
Be aware that the University considers an extenuating circumstance to be along the lines of "I
|
239
|
+
was in the hospital for the last 2 weeks in a coma". More information can be found on the
|
240
|
+
<a href="https://www.boisestate.edu/registrar/degree-requirements/grades/">registrar's</a> page.
|
241
|
+
</p>
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
<h2 id="institutional-policies">Institutional Policies</h2>
|
248
|
+
|
249
|
+
<ul>
|
250
|
+
<li>
|
251
|
+
Please review the <a
|
252
|
+
href="https://www.boisestate.edu/registrar/general-information-and-policies/academic-integrity/">
|
253
|
+
academic-integrity</a> policy set by the university. Violations of this policy will result in the student
|
254
|
+
receiving a failing grade (F) for the course.</li>
|
255
|
+
<li>
|
256
|
+
It is expected that all students <a
|
257
|
+
href="https://www.boisestate.edu/policy/student-affairs/code-of-conduct/">read</a>
|
258
|
+
and follow the University policy 2020. Any violation of University policy 2020 can result in the
|
259
|
+
student being removed from the class discussion and study groups. The students participation score
|
260
|
+
will be set to 0 and no alternative assignment will be given. Egregious behavior will be reported
|
261
|
+
to the <a href="https://www.boisestate.edu/deanofstudents/student-conduct-report-form/">dean of students</a>
|
262
|
+
for additional sanctions which can include receiving a failing grade (F) in the course.
|
263
|
+
</li>
|
264
|
+
<li>If you need help with accessibility you can visit the <a href="https://eac.boisestate.edu/">educational access
|
265
|
+
center</a></li>
|
266
|
+
</ul>
|
267
|
+
|
268
|
+
|
269
|
+
|
270
|
+
<h2 id="academic-honesty">Academic Honesty Policy</h2>
|
271
|
+
|
272
|
+
<p>
|
273
|
+
Programming assignments require the implementation of working programs using the language
|
274
|
+
constructs and techniques introduced in class. Programs must execute and compile on the operating
|
275
|
+
system and compiler specified. Students are expected to work on their own unless explicitly
|
276
|
+
instructed otherwise. Students who allow their work to be copied will be written up along with
|
277
|
+
the student who copied. Cheating is grounds for immediate failure of the course. This includes
|
278
|
+
trying to find answers to problems, programs, exams or providing (directly or indirectly)
|
279
|
+
your completed assignments to other students. Uploading solutions to sites such as
|
280
|
+
<a href="https://chegg.com">cheeg.com</a> is also considered an academic honesty violation and
|
281
|
+
will be reported to the dean of students.
|
282
|
+
</p>
|
283
|
+
|
284
|
+
<p>
|
285
|
+
Boise State promotes Academic Excellence as a core Shared Value upholding the virtue of honesty in
|
286
|
+
the pursuit of knowledge. Behaving with integrity and honesty is a hallmark of a Boise State
|
287
|
+
University graduate. The conferring of a degree represents the University’s indication that the
|
288
|
+
recipient has engaged in academic work that is representative of her/his own efforts and that was
|
289
|
+
completed with integrity and honesty.
|
290
|
+
</p>
|
291
|
+
<p>
|
292
|
+
Upholding academic integrity in all assignments provides students with the opportunity to engage
|
293
|
+
with the material being investigated and assert their evidence based findings. This behavior
|
294
|
+
demonstrates the commitment to learning and preparation necessary for a successful future. All
|
295
|
+
work you submit must represent your own ideas and effort or be cited including any material you
|
296
|
+
wrote for another course; when work does not, it is academic dishonesty. <strong>Academic
|
297
|
+
dishonesty in any form may result in failure in the course or dismissal from the Program and/or
|
298
|
+
the University.</strong>
|
299
|
+
</p>
|
300
|
+
|
301
|
+
|
302
|
+
<h2 id="late-work-policy">Late Work Policy</h2>
|
303
|
+
|
304
|
+
<p>
|
305
|
+
All assignments can be submitted up to <strong>3 days late without penalty</strong>, after 3 days
|
306
|
+
past the due date absolutely no work will be accepted under any circumstances. No work will be
|
307
|
+
accepted after the <strong>last day of course instruction</strong>, the semester has to end at
|
308
|
+
some point so plan accordingly. Work submitted 1 second late is treated the same as work
|
309
|
+
submitted 1 day late. You can find the last day of course instruction at
|
310
|
+
the <a href="https://www.boisestate.edu/registrar/boise-state-academic-calendars/">registrar</a>.
|
311
|
+
Plenty of extra credit is offered to offset any missed assignment(s).
|
312
|
+
</p>
|
313
|
+
|
314
|
+
<h2 id="email-policy">Email Policy</h2>
|
315
|
+
|
316
|
+
<p>
|
317
|
+
BroncoMail is the official communication channel through which all university business is
|
318
|
+
conducted. It is expected that you access and read university communications two or three
|
319
|
+
times per week. For more information see the University Policy on Student Email
|
320
|
+
Communications <a
|
321
|
+
href="https://www.boisestate.edu/policy/student-affairs/policy-title-student-e-mail-communications/">(Policy
|
322
|
+
2280).</a> <strong>Your instructor will not respond to any emails sent from personal
|
323
|
+
accounts such as gmail or yahoo.</strong>
|
324
|
+
</p>
|
325
|
+
|
326
|
+
<p>
|
327
|
+
Your instructor will make every effort to return emails within 48hrs Monday thru Friday between
|
328
|
+
the hours of 9:00am and 5:00pm (MST). Emails sent on Saturday, Sunday, or outside of the defined
|
329
|
+
hours will be returned within 48hrs on the following business day. Emails should be reserved for
|
330
|
+
questions that are not appropriate for a public forum such as grades or other personal issues. If
|
331
|
+
you don't receive a response from your instructor after 48hrs please check to make sure you are
|
332
|
+
sending the email from BroncoMail and send a followup email.
|
333
|
+
</p>
|
334
|
+
|
335
|
+
<h2 id="attendance-policy">Attendance Policy</h2>
|
336
|
+
|
337
|
+
<p>
|
338
|
+
There is no grade associated with attending class. However, if the behavior of a student impacts
|
339
|
+
other students ability to learn there could be a impact to your final grade. It is the students
|
340
|
+
responsibly to make up any work missed during class within the prescribed late work policy
|
341
|
+
window.
|
342
|
+
</p>
|
343
|
+
|
344
|
+
<p>
|
345
|
+
<strong>Don't come into class sick!</strong> There is no reason to come to class sick under any
|
346
|
+
circumstances. Most of the material is available online either in video or text format so you
|
347
|
+
can easily catch up on anything that you may have missed in class!
|
348
|
+
</p>
|
349
|
+
|
350
|
+
|
351
|
+
<h2 id="computer-lab">Computer Lab </h2>
|
352
|
+
|
353
|
+
<p>
|
354
|
+
<a href="https://cs481.boisestate.edu/ccp-tour/index.html">The Kount Computer Tutoring Center (CCP
|
355
|
+
241)</a>: This lab is accessible 24/7 by proxy card access to all students enrolled in CS courses.
|
356
|
+
Machines in the Kount Computer Tutoring Center have all the software you will need this semester.
|
357
|
+
You can use the lab remotely via ssh (onyx.boisestate.edu) and use command line tools such as VIM.
|
358
|
+
</p>
|
359
|
+
|
360
|
+
<p>
|
361
|
+
If you want to work on your personal machine the following setup is recommended:
|
362
|
+
</p>
|
363
|
+
<ul>
|
364
|
+
<li>OS - Linux </li>
|
365
|
+
<li>Hardware - Minimum of 4GB of Ram (8GB preferred) and an i5 or equivalent processor</li>
|
366
|
+
</ul>
|
367
|
+
|
368
|
+
<h2 id="extra-credit-opportunities">Extra Credit Opportunities</h2>
|
369
|
+
|
370
|
+
<p>
|
371
|
+
Standing extra credit is always offered to allow students to bump their grade up if they are on a
|
372
|
+
grading boundary so please take advantage of any extra credit offered. Any extra credit given over
|
373
|
+
the semester can not exceed 2.5% of the total points offered. For example the maximum number of
|
374
|
+
extra credit points that you can earn if the total points offered is 1000 would be 25.
|
375
|
+
</p>
|
376
|
+
|
377
|
+
|
378
|
+
<h3 id="standing-extra-credit">Standing extra credit</h3>
|
379
|
+
|
380
|
+
<p>
|
381
|
+
Typos and Bugs - If you find any typos or bugs in the course materials email me what you found.
|
382
|
+
You can claim this extra credit as many times as you wish (up to the maximum number of points).
|
383
|
+
</p>
|
384
|
+
|
385
|
+
</div>
|
386
|
+
|
387
|
+
|
data/index.html
CHANGED
@@ -1,322 +1,4 @@
|
|
1
1
|
---
|
2
|
-
layout:
|
2
|
+
layout: syllabus
|
3
3
|
tag: home
|
4
|
-
---
|
5
|
-
|
6
|
-
{% assign tableFile = site.data.semester-info %}
|
7
|
-
|
8
|
-
<img src={{"/assets/images/home_page.png"}} alt="Course Logo">
|
9
|
-
|
10
|
-
<h2 id="welcome">Welcome!</h2>
|
11
|
-
|
12
|
-
{% include youtube.html param= tableFile.welcome-video %}
|
13
|
-
|
14
|
-
<p>
|
15
|
-
{{tableFile.welcome-message}}
|
16
|
-
</p>
|
17
|
-
|
18
|
-
{% assign one_day = 1 | times: 24 | times: 60 | times: 60 %}
|
19
|
-
{% assign two_days = 2 | times: 24 | times: 60 | times: 60 %}
|
20
|
-
{% assign three_days = 3 | times: 24 | times: 60 | times: 60 %}
|
21
|
-
{% assign four_days = 4 | times: 24 | times: 60 | times: 60 %}
|
22
|
-
|
23
|
-
|
24
|
-
{% if tableFile.start-day == "monday" %}
|
25
|
-
{% assign curr_date = tableFile.start-date | date: "%s" | minus: four_days%}
|
26
|
-
{% elsif tableFile.start-day == "tuesday" %}
|
27
|
-
{% assign curr_date = tableFile.start-date | date: "%s" | minus: three_days%}
|
28
|
-
{% elsif tableFile.start-day == "wednesday" %}
|
29
|
-
{% assign curr_date = tableFile.start-date | date: "%s" | minus: two_days%}
|
30
|
-
{% elsif tableFile.start-day == "thursday" %}
|
31
|
-
{% assign curr_date = tableFile.start-date | date: "%s" | minus: one_day %}
|
32
|
-
{% endif%}
|
33
|
-
|
34
|
-
<div>
|
35
|
-
<h2 id="homework">Weekly Homework</h2>
|
36
|
-
<table style="margin:auto;height: 100%; width: 100%;">
|
37
|
-
<thead>
|
38
|
-
<tr>
|
39
|
-
<th class="text-center">Week</th>
|
40
|
-
<th>Due Date</th>
|
41
|
-
<th>Homework</th>
|
42
|
-
<th>Points</th>
|
43
|
-
</tr>
|
44
|
-
</thead>
|
45
|
-
|
46
|
-
<tbody>
|
47
|
-
{% assign curr_week = 1 %}
|
48
|
-
{% assign curr_module = "none" %}
|
49
|
-
|
50
|
-
{% assign loop_counter = 1 %}
|
51
|
-
{% assign pgs = site.lessons | sort: 'slug' %}
|
52
|
-
{% assign total_points = 0%}
|
53
|
-
{% for page in pgs %}
|
54
|
-
{% if page.path contains "lesson" %}
|
55
|
-
{% assign loop_counter = loop_counter | plus: 1 %}
|
56
|
-
{% if curr_module != page.tag %}
|
57
|
-
<!--Module header-->
|
58
|
-
<tr>
|
59
|
-
<td colspan="4" class="text-center table-darkish">{{page.tag | capitalize }}</td>
|
60
|
-
</tr>
|
61
|
-
{% assign curr_module = page.tag %}
|
62
|
-
{% endif%}
|
63
|
-
{% if page.layout == "reading-zybooks" %}
|
64
|
-
{% assign page_title = site.data.semester-info.reading[page.slug] %}
|
65
|
-
{% else%}
|
66
|
-
{% assign page_title = page.title %}
|
67
|
-
{% endif %}
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
{% if curr_week == tableFile.break %}
|
72
|
-
<!--Add in the break week, we need to grab the next lesson before inserting new week-->
|
73
|
-
<tr>
|
74
|
-
{% assign curr_date = curr_date | date: "%s" | plus: two_days %}
|
75
|
-
<td>{{curr_date | date: "%m/%d - %a"}}</td>
|
76
|
-
<td><a href="{{site.url}}{{page.url}}">{{page_title}}</a> <span class="small-text">{{page.slug}}</span>{%if page.layout == "lab"%} <a class="no-dec" href="{{site.data.semester-info.labs[page.slug]}}">🧪</a> {%elsif page.layout == "project" %} 📡 {% endif%} {%if page.video %}<a class="no-dec" href=https://www.youtube.com/watch?v={{page.video}}>📺 </a>{% endif %}</td>
|
77
|
-
<td>{{page.points}}</td>
|
78
|
-
{% assign total_points = total_points | plus: page.points %}
|
79
|
-
</tr>
|
80
|
-
<tr>
|
81
|
-
<td rowspan= 2 class="table-lightish text-center border">
|
82
|
-
{% assign curr_date = curr_date | date: "%s" | plus: three_days %}
|
83
|
-
{{curr_week}}
|
84
|
-
</td>
|
85
|
-
{% assign curr_date = curr_date | date: "%s" | plus: two_days %}
|
86
|
-
<td>{{curr_date | date: "%m/%d - %a"}}</td>
|
87
|
-
<td>Break</td>
|
88
|
-
</tr>
|
89
|
-
<tr>
|
90
|
-
{% assign curr_date = curr_date | date: "%s" | plus: two_days %}
|
91
|
-
<td>{{curr_date | date: "%m/%d - %a"}}</td>
|
92
|
-
<td>Break</td>
|
93
|
-
</tr>
|
94
|
-
{% assign curr_week = curr_week | plus: 1 %}
|
95
|
-
{%else%}
|
96
|
-
|
97
|
-
<tr>
|
98
|
-
{% comment %}
|
99
|
-
Need to keep track of our own loop counter to filter out docs don't use forloop.index
|
100
|
-
{% endcomment %}
|
101
|
-
{% assign tmp = loop_counter | modulo: 2 %}
|
102
|
-
{% if tmp == 0 %}
|
103
|
-
<td rowspan= 2 class="table-lightish text-center border">
|
104
|
-
{% assign curr_date = curr_date | date: "%s" | plus: three_days %}
|
105
|
-
{{curr_week}}
|
106
|
-
{% assign curr_week = curr_week | plus: 1 %}
|
107
|
-
</td>
|
108
|
-
{% endif %}
|
109
|
-
{% assign curr_date = curr_date | date: "%s" | plus: two_days %}
|
110
|
-
<td>{{curr_date | date: "%m/%d - %a"}}</td>
|
111
|
-
<td><a href="{{site.url}}{{page.url}}">{{page_title}}</a> <span class="small-text">{{page.slug}}</span>{%if page.layout == "lab"%} <a class="no-dec" href="{{site.data.semester-info.labs[page.slug]}}">🧪</a> {%elsif page.layout == "project" %} 📡 {% endif%} {%if page.video %}<a class="no-dec" href=https://www.youtube.com/watch?v={{page.video}}>📺 </a>{% endif %}</td>
|
112
|
-
<td>{{page.points}}</td>
|
113
|
-
{% assign total_points = total_points | plus: page.points %}
|
114
|
-
</tr>
|
115
|
-
{%endif%}
|
116
|
-
{% endif %}
|
117
|
-
{% endfor%}
|
118
|
-
</tbody>
|
119
|
-
<tfoot>
|
120
|
-
<tr>
|
121
|
-
<td colspan="3" class="table-lightish">Total Points:</td>
|
122
|
-
<td class="table-lightish">{{total_points}}</td>
|
123
|
-
</tr>
|
124
|
-
</tfoot>
|
125
|
-
</table>
|
126
|
-
|
127
|
-
<h2 id="catalog-description">Catalog description</h2>
|
128
|
-
|
129
|
-
{{tableFile.catalog}}
|
130
|
-
|
131
|
-
<h2 id="final-grades">Grading Policy</h2>
|
132
|
-
|
133
|
-
<p>
|
134
|
-
Final grades will be assigned with the formula [Earned Points]/[Total Points]. For example if you
|
135
|
-
earn 850 points out of a total of 1000 points offered your grade would be a B or %85.
|
136
|
-
<strong>Grades will not be rounded</strong>, so if your final score is a 79.9% your grade will be
|
137
|
-
a C+ according to the chart below. If you are on a grade boundary please see the <a
|
138
|
-
href="#extra-credit-opportunities">extra credit</a> section below for opportunities to improve your grade.
|
139
|
-
</p>
|
140
|
-
|
141
|
-
<table>
|
142
|
-
<thead>
|
143
|
-
<tr>
|
144
|
-
<th>Percentage</th>
|
145
|
-
<th>Letter</th>
|
146
|
-
</tr>
|
147
|
-
</thead>
|
148
|
-
<tbody>
|
149
|
-
<tr>
|
150
|
-
<td>94% < 100%</td>
|
151
|
-
<td>A</td>
|
152
|
-
</tr>
|
153
|
-
<tr>
|
154
|
-
<td>90% < 94%</td>
|
155
|
-
<td>A-</td>
|
156
|
-
</tr>
|
157
|
-
<tr>
|
158
|
-
<td>87% < 90%</td>
|
159
|
-
<td>B+</td>
|
160
|
-
</tr>
|
161
|
-
<tr>
|
162
|
-
<td>84% < 87%</td>
|
163
|
-
<td>B</td>
|
164
|
-
</tr>
|
165
|
-
<tr>
|
166
|
-
<td>80% < 84%</td>
|
167
|
-
<td>B-</td>
|
168
|
-
</tr>
|
169
|
-
<tr>
|
170
|
-
<td>77% < 80%</td>
|
171
|
-
<td>C+</td>
|
172
|
-
</tr>
|
173
|
-
<tr>
|
174
|
-
<td>74% < 77%</td>
|
175
|
-
<td>C</td>
|
176
|
-
</tr>
|
177
|
-
<tr>
|
178
|
-
<td>70% < 74%</td>
|
179
|
-
<td>C-</td>
|
180
|
-
</tr>
|
181
|
-
<tr>
|
182
|
-
<td>67% < 70%</td>
|
183
|
-
<td>D+</td>
|
184
|
-
</tr>
|
185
|
-
<tr>
|
186
|
-
<td>64% < 67%</td>
|
187
|
-
<td>D</td>
|
188
|
-
</tr>
|
189
|
-
<tr>
|
190
|
-
<td>60% < 64%</td>
|
191
|
-
<td>D-</td>
|
192
|
-
</tr>
|
193
|
-
<tr>
|
194
|
-
<td>0 < 60%</td>
|
195
|
-
<td>F</td>
|
196
|
-
</tr>
|
197
|
-
</tbody>
|
198
|
-
</table>
|
199
|
-
|
200
|
-
<h2 id="institutional-policies">Institutional Policies</h2>
|
201
|
-
|
202
|
-
<ul>
|
203
|
-
<li>
|
204
|
-
Please review the <a
|
205
|
-
href="https://www.boisestate.edu/registrar/general-information-and-policies/academic-integrity/">
|
206
|
-
academic-integrity</a> policy set by the university. Violations of this policy will result in the student
|
207
|
-
receiving a failing grade (F) for the course.</li>
|
208
|
-
<li>
|
209
|
-
It is expected that all students <a
|
210
|
-
href="https://www.boisestate.edu/policy/student-affairs/code-of-conduct/">read</a>
|
211
|
-
and follow the University policy 2020. Any violation of University policy 2020 can result in the
|
212
|
-
student being removed from the class discussion and study groups. The students participation score
|
213
|
-
will be set to 0 and no alternative assignment will be given. Egregious behavior will be reported
|
214
|
-
to the <a href="https://www.boisestate.edu/deanofstudents/student-conduct-report-form/">dean of students</a>
|
215
|
-
for additional sanctions which can include receiving a failing grade (F) in the course.
|
216
|
-
</li>
|
217
|
-
<li>If you need help with accessibility you can visit the <a href="https://eac.boisestate.edu/">educational access
|
218
|
-
center</a></li>
|
219
|
-
</ul>
|
220
|
-
|
221
|
-
<h2 id="computer-lab">Computer Lab </h2>
|
222
|
-
|
223
|
-
<p>
|
224
|
-
<a href="https://cs481.boisestate.edu/ccp-tour/index.html">The Kount Computer Tutoring Center (CCP
|
225
|
-
241)</a>: This lab is accessible 24/7 by proxy card access to all students enrolled in CS courses.
|
226
|
-
Machines in the Kount Computer Tutoring Center have all the software you will need this semester.
|
227
|
-
You can use the lab remotely via ssh (onyx.boisestate.edu) and use command line tools such as VIM.
|
228
|
-
</p>
|
229
|
-
|
230
|
-
<p>
|
231
|
-
If you want to work on your personal machine the following setup is recommended:
|
232
|
-
</p>
|
233
|
-
<ul>
|
234
|
-
<li>OS - Linux </li>
|
235
|
-
<li>Hardware - Minimum of 4GB of Ram (8GB preferred) and an i5 or equivalent processor</li>
|
236
|
-
</ul>
|
237
|
-
|
238
|
-
<h2 id="academic-honesty">Academic Honesty</h2>
|
239
|
-
|
240
|
-
<p>
|
241
|
-
Programming assignments require the implementation of working programs using the language
|
242
|
-
constructs and techniques introduced in class. Programs must execute and compile on the operating
|
243
|
-
system and compiler specified. Students are expected to work on their own unless explicitly
|
244
|
-
instructed otherwise. Students who allow their work to be copied will be written up along with
|
245
|
-
the student who copied. Cheating is grounds for immediate failure of the course. This includes
|
246
|
-
trying to find answers to problems, programs, and exams from the Internet or other sources and
|
247
|
-
uploading your completed assignments to Internet sites that are publicly accessible.
|
248
|
-
</p>
|
249
|
-
|
250
|
-
<p>
|
251
|
-
Boise State promotes Academic Excellence as a core Shared Value upholding the virtue of honesty in
|
252
|
-
the pursuit of knowledge. Behaving with integrity and honesty is a hallmark of a Boise State
|
253
|
-
University graduate. The conferring of a degree represents the University’s indication that the
|
254
|
-
recipient has engaged in academic work that is representative of her/his own efforts and that was
|
255
|
-
completed with integrity and honesty.
|
256
|
-
</p>
|
257
|
-
<p>
|
258
|
-
Upholding academic integrity in all assignments provides students with the opportunity to engage
|
259
|
-
with the material being investigated and assert their evidence based findings. This behavior
|
260
|
-
demonstrates the commitment to learning and preparation necessary for a successful future. All
|
261
|
-
work you submit must represent your own ideas and effort or be cited including any material you
|
262
|
-
wrote for another course; when work does not, it is academic dishonesty. <strong>Academic
|
263
|
-
dishonesty in any form may result in failure in the course or dismissal from the Program and/or
|
264
|
-
the University.</strong>
|
265
|
-
</p>
|
266
|
-
|
267
|
-
|
268
|
-
<h2 id="late-work-policy">Late Work Policy</h2>
|
269
|
-
|
270
|
-
<p>
|
271
|
-
All assignments can be submitted up to <strong>3 days late without penalty</strong>, after 3 days
|
272
|
-
past the due date absolutely no work will be accepted under any circumstances. No work will be
|
273
|
-
accepted after the <strong>last day of course instruction</strong>, the semester has to end at
|
274
|
-
some point so plan accordingly. Work submitted 1 second late is treated the same as work
|
275
|
-
submitted 1 day late. You can find the last day of course instruction at
|
276
|
-
the <a href="https://www.boisestate.edu/registrar/boise-state-academic-calendars/">registrar</a>.
|
277
|
-
</p>
|
278
|
-
|
279
|
-
<p>
|
280
|
-
Plenty of extra credit is offered to offset any missed assignment(s).
|
281
|
-
</p>
|
282
|
-
|
283
|
-
<h2 id="email-policy">Email Policy</h2>
|
284
|
-
|
285
|
-
<p>
|
286
|
-
BroncoMail is the official communication channel through which all university business is
|
287
|
-
conducted. It is expected that you access and read university communications two or three
|
288
|
-
times per week. For more information see the University Policy on Student Email
|
289
|
-
Communications <a
|
290
|
-
href="https://www.boisestate.edu/policy/student-affairs/policy-title-student-e-mail-communications/">(Policy
|
291
|
-
2280).</a> <strong>Your instructor will not respond to any emails sent from personal
|
292
|
-
accounts such as gmail or yahoo.</strong>
|
293
|
-
</p>
|
294
|
-
|
295
|
-
<p>
|
296
|
-
Your instructor will make every effort to return emails within 48hrs Monday thru Friday between
|
297
|
-
the hours of 9:00am and 5:00pm (MST). Emails sent on Saturday, Sunday, or outside of the defined
|
298
|
-
hours will be returned within 48hrs on the following business day. Emails should be reserved for
|
299
|
-
questions that are not appropriate for a public forum such as grades or other personal issues. If
|
300
|
-
you don't receive a response from your instructor after 48hrs please check to make sure you are
|
301
|
-
sending the email from BroncoMail and send a followup email.
|
302
|
-
</p>
|
303
|
-
|
304
|
-
<h2 id="extra-credit-opportunities">Extra Credit Opportunities</h2>
|
305
|
-
|
306
|
-
Standing extra credit is always offered to allow students to bump their grade up if they are on a
|
307
|
-
grading boundary so please take advantage of any extra credit offered. Any extra credit given over
|
308
|
-
the semester can not exceed 2.5% of the total points offered. For example the maximum number of
|
309
|
-
extra credit points that you can earn if the total points offered is 1000 would be 25.
|
310
|
-
|
311
|
-
<h3 id="standing-extra-credit">Standing extra credit</h3>
|
312
|
-
<ul>
|
313
|
-
<li>
|
314
|
-
Typos and Bugs - If you find any typos or bugs in the course materials email me what you found.
|
315
|
-
You can claim this extra credit as many times as you wish (up to the maximum number of points).
|
316
|
-
</li>
|
317
|
-
</ul>
|
318
|
-
|
319
|
-
|
320
|
-
</div>
|
321
|
-
|
322
|
-
|
4
|
+
---
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shanep-class
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.28
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- shane panter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-04-
|
11
|
+
date: 2022-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -92,6 +92,7 @@ files:
|
|
92
92
|
- README.md
|
93
93
|
- _config.yml
|
94
94
|
- _includes/alert.html
|
95
|
+
- _includes/anchor_headings.html
|
95
96
|
- _includes/asciinema.html
|
96
97
|
- _includes/footer.html
|
97
98
|
- _includes/head.html
|
@@ -104,6 +105,7 @@ files:
|
|
104
105
|
- _layouts/lab.html
|
105
106
|
- _layouts/project.html
|
106
107
|
- _layouts/reading-zybooks.html
|
108
|
+
- _layouts/syllabus.html
|
107
109
|
- _sass/asciinema-player.scss
|
108
110
|
- _sass/highlight.scss
|
109
111
|
- _sass/main.scss
|