shanep-class 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 3e3f42d43ccb4ad9292b9115b5f077bbfe5cabc54a4b3c2d600ebd96ac990fb5
4
+ data.tar.gz: 178d39a5daa61a196c86ebb6fcf796e0da3645563a5044500fbcdadcaa394bd6
5
+ SHA512:
6
+ metadata.gz: 5ece44f193d8aaf53fd29102d5f0f1aeb6d198c649ad11825defa243fef7142c2613a35a732001b8e5b6d64781623fed926fbd1783ba3a87bb4a22b2b32caab0
7
+ data.tar.gz: 93bcd322938bf12ed85c77d29cbfd3258f2f73ea1398f850d59824d7f2acfd5a55827d555c1a1cb0c28a9a585eb9adb07187b93ef4ab8818b85981f7461e5a79
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Shane K. Panter
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.
data/README.md ADDED
@@ -0,0 +1,43 @@
1
+ # shanep-class
2
+
3
+ This is a simple theme to use for a class hosted on github pages
4
+
5
+ ## Installation
6
+
7
+ Add this line to your Jekyll site's `Gemfile`:
8
+
9
+ ```ruby
10
+ gem "shanep-class"
11
+ ```
12
+
13
+ And add this line to your Jekyll site's `_config.yml`:
14
+
15
+ ```yaml
16
+ theme: shanep-class
17
+ ```
18
+
19
+ And then execute:
20
+
21
+ $ bundle
22
+
23
+ Or install it yourself as:
24
+
25
+ $ gem install shanep-class
26
+
27
+ ## Usage
28
+
29
+ You can see an example at [shanep-cs2.github.io](https://github.com/shanep-cs2/shanep-cs2.github.io)
30
+
31
+ ## Development
32
+
33
+ To set up your environment to develop this theme, run `bundle install`.
34
+
35
+ Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
36
+
37
+ When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
38
+ To add a custom directory to your theme-gem, please edit the regexp in `shanep-class.gemspec` accordingly.
39
+
40
+ ## License
41
+
42
+ The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
43
+
data/_config.yml ADDED
@@ -0,0 +1,28 @@
1
+ title: CS123
2
+ description: Computer Science
3
+ url: "https://somelink.github.io/"
4
+
5
+ # Build settings
6
+ future: true
7
+ show_drafts: false
8
+ plugins:
9
+ - jekyll-feed
10
+ - jekyll-seo-tag
11
+
12
+ exclude:
13
+ - run-jekyll.sh
14
+ - package-theme.sh
15
+ - README.md
16
+ - LICENSE
17
+
18
+ collections:
19
+ lessons:
20
+ output: true
21
+ docs:
22
+ output: true
23
+
24
+ defaults:
25
+ - scope:
26
+ path: ""
27
+ values:
28
+ layout: "course"
@@ -0,0 +1,6 @@
1
+ <div class="alert">
2
+ <p class="alert-icon"> &#x2620;</p>
3
+ <p>
4
+ {{include.text}}
5
+ </p>
6
+ </div>
@@ -0,0 +1,5 @@
1
+ <div>
2
+ <script src="{{site.url}}/assets/js/asciinema-player.js"></script>
3
+ <asciinema-player cols=100 rows=25 speed=1 idle-time-limit=2 src="/assets/casts/{{ include.cast }}"></asciinema-player>
4
+ </div>
5
+
@@ -0,0 +1,33 @@
1
+ <div class="post-nav">
2
+ {% include header.html%}
3
+ <ul>
4
+ {% if page.path == "index.html" %}
5
+ <li class='active'>
6
+ {% else %}
7
+ <li>
8
+ {% endif %}
9
+ <a href={{site.url}}>Home</a>
10
+ </li>
11
+
12
+ {% if page.path contains "syllabus" %}
13
+ <li class='active'>
14
+ {% else %}
15
+ <li>
16
+ {% endif %}
17
+ <a href={{site.url}}/docs/syllabus.html>Syllabus</a>
18
+ </li>
19
+ </ul>
20
+
21
+ <h2>Lessons</h2>
22
+ <ul>
23
+ {% for pg in site.lessons %}
24
+ {% if pg.path == page.path %}
25
+ <li class='active'>
26
+ {% else %}
27
+ <li>
28
+ {% endif %}
29
+ <a href={{pg.url}}> {{ pg.title }}</a>{%if pg.layout == "lab"%} 🧪 {%elsif pg.layout == "project" %} 📡 {% endif%}</li>
30
+
31
+ {% endfor %}
32
+ </ul>
33
+ </div>
@@ -0,0 +1,25 @@
1
+ <footer class="footer">
2
+ <div class="contact">
3
+ <ul>
4
+ <li>
5
+ {% if page.date %} {{page.date | date: "%Y-%m-%d"}}{% else %} {{"now" | date: "%Y-%m-%d" }} {% endif%} | layout: {{page.layout}}</li>
6
+ <li>{{site.email}}</li>
7
+ {% if page.tags %}
8
+ <li>tags:
9
+ {% for tag in page.tags %}
10
+ {{tag}}{% if forloop.last != true %},{% endif %}
11
+ {% endfor %}
12
+ </li>
13
+ {% endif %}
14
+
15
+ </ul>
16
+ </div>
17
+ <div class="copyright">
18
+ <p>
19
+ This work is licensed under a<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">
20
+ Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License</a>.
21
+ Opinions are my own and not the views of my employer.
22
+ </p>
23
+ </div>
24
+
25
+ </footer>
@@ -0,0 +1,12 @@
1
+ <head>
2
+ <meta charset="utf-8" />
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
4
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
5
+ <link rel="shortcut icon" type="image/x-icon" href="/{{ site.favicon }}" />
6
+
7
+ {%-seo-%}
8
+ {%-feed_meta-%}
9
+
10
+ <link rel="stylesheet" href="{{site.url}}/assets/css/main_new.css" />
11
+
12
+ </head>
@@ -0,0 +1,5 @@
1
+ <div class="logo">
2
+ <h1>
3
+ <a href="{{site.url}}">{{site.data.semester-info.text_logo}}</a>
4
+ </h1>
5
+ </div>
@@ -0,0 +1,115 @@
1
+
2
+ {% assign pgs = site.lessons | sort: 'slug' %}
3
+
4
+ {% assign tableFileParam = {{include.file}} %}
5
+ {% assign tableFile = site.data[tableFileParam] %}
6
+
7
+ {% assign one_day = 1 | times: 24 | times: 60 | times: 60 %}
8
+ {% assign two_days = 2 | times: 24 | times: 60 | times: 60 %}
9
+ {% assign three_days = 3 | times: 24 | times: 60 | times: 60 %}
10
+ {% assign four_days = 4 | times: 24 | times: 60 | times: 60 %}
11
+
12
+ {% if tableFile.start-day == "monday" %}
13
+ {% assign curr_date = tableFile.start-date | date: "%s" | minus: four_days%}
14
+ {% elsif tableFile.start-day == "tuesday" %}
15
+ {% assign curr_date = tableFile.start-date | date: "%s" | minus: three_days%}
16
+ {% elsif tableFile.start-day == "wednesday" %}
17
+ {% assign curr_date = tableFile.start-date | date: "%s" | minus: two_days%}
18
+ {% elsif tableFile.start-day == "thursday" %}
19
+ {% assign curr_date = tableFile.start-date | date: "%s" | minus: one_day %}
20
+ {% endif%}
21
+
22
+ <div >
23
+
24
+ <h2 id="instructor">Instructor Information</h2>
25
+ <ul>
26
+ <li>{{tableFile.instructor}} - {{tableFile.email}}</li>
27
+ <li><a href="{{tableFile.office-hours}}">Office Hours</a></li>
28
+ </ul>
29
+
30
+ <h2 id="important-links">Important links</h2>
31
+ <ul>
32
+ <li><a href="{{tableFile.textbook}}">Text Book</a></li>
33
+ <li><a href="{{tableFile.discussion}}">Discussion Forum</a></li>
34
+ <li><a href="{{tableFile.github}}">Github Course Site</a></li>
35
+ <li><a href="{{tableFile.grades}}">Grades</a></li>
36
+ <li><a href="{{tableFile.exams}}">Midterm and Final exams</a></li>
37
+ <li><a href="{{tableFile.example-exams}}">Practice exams</a></li>
38
+ </ul>
39
+
40
+ <h2 id="schedule">Schedule - {{tableFile.semester}}</h2>
41
+ <table style="margin:auto;height: 100%; width: 100%;">
42
+ <thead>
43
+ <tr>
44
+ <th class="text-center">Week</th>
45
+ <th>Due Date</th>
46
+ <th>Lesson</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
+
56
+ {% for page in pgs %}
57
+ {% if page.path contains "lesson" %}
58
+ {% assign loop_counter = loop_counter | plus: 1 %}
59
+ {% if curr_module != page.tag %}
60
+ <!--Module header-->
61
+ <tr>
62
+ <td colspan="3" class="text-center table-darkish">{{page.tag | capitalize }}</td>
63
+ </tr>
64
+ {% assign curr_module = page.tag %}
65
+ {% endif%}
66
+
67
+
68
+ {% if curr_week == tableFile.break %}
69
+ <!--Add in the break week, we need to grab the next lesson before inserting new week-->
70
+ <tr>
71
+ {% assign curr_date = curr_date | date: %s | plus: two_days %}
72
+ <td>{{curr_date | date: "%m/%d - %a"}}</td>
73
+ <td><a href="{{site.url}}{{page.url}}">{{page.title}} ({{page.slug}})</a>{%if page.layout == "lab"%} 🧪 {%elsif page.layout == "project" %} 📡 {% endif%}</td>
74
+ </tr>
75
+ <tr>
76
+ <td rowspan= 2 class="table-lightish text-center border">
77
+ {% assign curr_date = curr_date | date: %s | plus: three_days %}
78
+ {{curr_week}}
79
+ </td>
80
+ {% assign curr_date = curr_date | date: %s | plus: two_days %}
81
+ <td>{{curr_date | date: "%m/%d - %a"}}</td>
82
+ <td>Break</td>
83
+ </tr>
84
+ <tr>
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
+ {% assign curr_week = curr_week | plus: 1 %}
90
+ {%else%}
91
+
92
+ <tr>
93
+ {% comment %}
94
+ Need to keep track of our own loop counter to filter out docs don't use forloop.index
95
+ {% endcomment %}
96
+ {% assign tmp = loop_counter | modulo: 2 %}
97
+ {% if tmp == 0 %}
98
+ <td rowspan= 2 class="table-lightish text-center border">
99
+ {% assign curr_date = curr_date | date: %s | plus: three_days %}
100
+ {{curr_week}}
101
+ {% assign curr_week = curr_week | plus: 1 %}
102
+ </td>
103
+ {% endif %}
104
+ {% assign curr_date = curr_date | date: %s | plus: two_days %}
105
+ <td>{{curr_date | date: "%m/%d - %a"}}</td>
106
+
107
+
108
+ <td><a href="{{site.url}}{{page.url}}">{{page.title}} ({{page.slug}})</a>{%if page.layout == "lab"%} 🧪 {%elsif page.layout == "project" %} 📡 {% endif%}</td>
109
+ </tr>
110
+ {%endif%}
111
+ {% endif %}
112
+ {% endfor%}
113
+ </tbody>
114
+ </table>
115
+ </div>
@@ -0,0 +1,7 @@
1
+ <div style="text-align: center;">
2
+ <img
3
+ src="{{include.img}}"
4
+ alt="{{include.alt}}"
5
+ height="{{include.height}}"
6
+ width="{{include.width}}" />
7
+ </div>
@@ -0,0 +1,235 @@
1
+ {% assign tableFileParam = {{include.file}} %}
2
+ {% assign tableFile = site.data[tableFileParam] %}
3
+
4
+ <h2 id="catalog-description">Catalog Description</h2>
5
+
6
+ {{tableFile.catalog}}
7
+
8
+ <h2 id="logistics">Logistics</h2>
9
+
10
+ <ul>
11
+ <li><strong>Instructor:</strong> {{tableFile.instructor}}</li>
12
+ <li><strong>Email:</strong> {{tableFile.email}}</li>
13
+ <li><a href="{{tableFile.textbook}}">Textbook</a></li>
14
+ </ul>
15
+
16
+ <h2 id="learning-objectives">Learning Objectives</h2>
17
+
18
+ <ul>
19
+ <li><a href="{{tableFile.learning-objectives}}">Learning Objective Alignment Sheet</a></li>
20
+ </ul>
21
+
22
+ <h2 id="coursework">Coursework</h2>
23
+
24
+ <table>
25
+ <thead>
26
+ <tr>
27
+ <th>Category</th>
28
+ <th>Points</th>
29
+ </tr>
30
+ </thead>
31
+ <tbody>
32
+ {% assign total = 0 %}
33
+ {% for entry in tableFile.coursework %}
34
+ <tr>
35
+ <td>{{entry[0]}}</td>
36
+ <td>{{entry[1]}}</td>
37
+ </tr>
38
+ {% assign total = total | plus: entry[1] %}
39
+ {% endfor%}
40
+ <tr style="background-color: black;"><td colspan=2></td></tr>
41
+ <tr><td><strong>Total</strong></td><td>{{total}}</td></tr>
42
+ </tbody>
43
+ </table>
44
+
45
+ <h2 id="final-grades">Grading</h2>
46
+
47
+ <p>
48
+ Final grades will be assigned with the formula [Earned Points]/[Total Points]. For example if you
49
+ earn 850 points out of a total of 1000 points offered your grade would be a B or %85.
50
+ <strong>Grades will not be rounded</strong>, so if your final score is a 79.9% your grade will be
51
+ a C+ according to the chart below. If you are on a grade boundary please see the <a
52
+ href="#extra-credit-opportunities">extra credit</a> section below for opportunities to improve your grade.
53
+ </p>
54
+
55
+ <table>
56
+ <thead>
57
+ <tr>
58
+ <th>Percentage</th>
59
+ <th>Letter</th>
60
+ </tr>
61
+ </thead>
62
+ <tbody>
63
+ <tr>
64
+ <td>94% &lt; 100%</td>
65
+ <td>A</td>
66
+ </tr>
67
+ <tr>
68
+ <td>90% &lt; 94%</td>
69
+ <td>A-</td>
70
+ </tr>
71
+ <tr>
72
+ <td>87% &lt; 90%</td>
73
+ <td>B+</td>
74
+ </tr>
75
+ <tr>
76
+ <td>84% &lt; 87%</td>
77
+ <td>B</td>
78
+ </tr>
79
+ <tr>
80
+ <td>80% &lt; 84%</td>
81
+ <td>B-</td>
82
+ </tr>
83
+ <tr>
84
+ <td>77% &lt; 80%</td>
85
+ <td>C+</td>
86
+ </tr>
87
+ <tr>
88
+ <td>74% &lt; 77%</td>
89
+ <td>C</td>
90
+ </tr>
91
+ <tr>
92
+ <td>70% &lt; 74%</td>
93
+ <td>C-</td>
94
+ </tr>
95
+ <tr>
96
+ <td>67% &lt; 70%</td>
97
+ <td>D+</td>
98
+ </tr>
99
+ <tr>
100
+ <td>64% &lt; 67%</td>
101
+ <td>D</td>
102
+ </tr>
103
+ <tr>
104
+ <td>60% &lt; 64%</td>
105
+ <td>D-</td>
106
+ </tr>
107
+ <tr>
108
+ <td>0 &lt; 60%</td>
109
+ <td>F</td>
110
+ </tr>
111
+ </tbody>
112
+ </table>
113
+
114
+ <h2 id="institutional-policies">Institutional Policies</h2>
115
+
116
+ <ul>
117
+ <li>
118
+ Please review the <a
119
+ href="https://www.boisestate.edu/registrar/general-information-and-policies/academic-integrity/">
120
+ academic-integrity</a> policy set by the university. Violations of this policy will result in the student
121
+ receiving a failing grade (F) for the course.</li>
122
+ <li>
123
+ It is expected that all students <a
124
+ href="https://www.boisestate.edu/policy/student-affairs/code-of-conduct/">read</a>
125
+ and follow the University policy 2020. Any violation of University policy 2020 can result in the
126
+ student being removed from the class discussion and study groups. The students participation score
127
+ will be set to 0 and no alternative assignment will be given. Egregious behavior will be reported
128
+ to the <a href="https://www.boisestate.edu/deanofstudents/student-conduct-report-form/">dean of students</a>
129
+ for additional sanctions which can include receiving a failing grade (F) in the course.
130
+ </li>
131
+ <li>If you need help with accessibility you can visit the <a href="https://eac.boisestate.edu/">educational access
132
+ center</a></li>
133
+ </ul>
134
+
135
+ <h2 id="computer-lab">Computer Lab </h2>
136
+
137
+ <p>
138
+ <a href="https://cs481.boisestate.edu/ccp-tour/index.html">The Kount Computer Tutoring Center (CCP
139
+ 241)</a>: This lab is accessible 24/7 by proxy card access to all students enrolled in CS courses.
140
+ Machines in the Kount Computer Tutoring Center have all the software you will need this semester.
141
+ You can use the lab remotely via ssh (onyx.boisestate.edu) and use command line tools such as VIM.
142
+ </p>
143
+
144
+ <p>
145
+ If you want to work on your personal machine the following setup is recommended:
146
+ </p>
147
+ <ul>
148
+ <li>OS - Linux </li>
149
+ <li>Hardware - Minimum of 4GB of Ram (8GB preferred) and an i5 or equivalent processor</li>
150
+ </ul>
151
+
152
+ <h2 id="academic-honesty">Academic Honesty</h2>
153
+
154
+ <p>
155
+ Programming assignments require the implementation of working programs using the language
156
+ constructs and techniques introduced in class. Programs must execute and compile on the operating
157
+ system and compiler specified. Students are expected to work on their own unless explicitly
158
+ instructed otherwise. Students who allow their work to be copied will be written up along with
159
+ the student who copied. Cheating is grounds for immediate failure of the course. This includes
160
+ trying to find answers to problems, programs, and exams from the Internet or other sources and
161
+ uploading your completed assignments to Internet sites that are publicly accessible.
162
+ </p>
163
+
164
+ <p>
165
+ Boise State promotes Academic Excellence as a core Shared Value upholding the virtue of honesty in
166
+ the pursuit of knowledge. Behaving with integrity and honesty is a hallmark of a Boise State
167
+ University graduate. The conferring of a degree represents the University’s indication that the
168
+ recipient has engaged in academic work that is representative of her/his own efforts and that was
169
+ completed with integrity and honesty.
170
+ </p>
171
+ <p>
172
+ Upholding academic integrity in all assignments provides students with the opportunity to engage
173
+ with the material being investigated and assert their evidence based findings. This behavior
174
+ demonstrates the commitment to learning and preparation necessary for a successful future. All
175
+ work you submit must represent your own ideas and effort or be cited including any material you
176
+ wrote for another course; when work does not, it is academic dishonesty. <strong>Academic
177
+ dishonesty in any form may result in failure in the course or dismissal from the Program and/or
178
+ the University.</strong>
179
+ </p>
180
+
181
+
182
+ <h2 id="late-work-policy">Late Work Policy</h2>
183
+
184
+ <p>
185
+ All assignments can be submitted up to <strong>3 days late without penalty</strong>, after 3 days
186
+ past the due date absolutely no work will be accepted under any circumstances. No work will be
187
+ accepted after the <strong>last day of course instruction</strong>, the semester has to end at
188
+ some point so plan accordingly. Work submitted 1 second late is treated the same as work
189
+ submitted 1 day late. You can find the last day of course instruction at
190
+ the <a href="https://www.boisestate.edu/registrar/boise-state-academic-calendars/">registrar</a>.
191
+ </p>
192
+
193
+ <p>
194
+ Plenty of extra credit is offered to offset any missed assignment(s).
195
+ </p>
196
+
197
+ <h2 id="email-policy">Email Policy</h2>
198
+
199
+ <p>
200
+ BroncoMail is the official communication channel through which all university business is
201
+ conducted. It is expected that you access and read university communications on a regular basis.
202
+ For more information see the University Policy on Student Email Communications <a
203
+ href="https://www.boisestate.edu/policy/student-affairs/policy-title-student-e-mail-communications/">(Policy
204
+ 2280).</a> <strong>Your instructor will not respond to any emails sent from personal accounts such
205
+ as gmail or yahoo.</strong>
206
+ </p>
207
+
208
+ <p>
209
+ Your instructor will make every effort to return emails within 48hrs Monday thru Friday between
210
+ the hours of 9:00am and 5:00pm (MST). Emails sent on Saturday, Sunday, or outside of the defined
211
+ hours will be returned within 48hrs on the following business day. Emails should be reserved for
212
+ questions that are not appropriate for a public forum such as grades or other personal issues. If
213
+ you don't receive a response from your instructor after 48hrs please check to make sure you are
214
+ sending the email from BroncoMail and send a followup email.
215
+ </p>
216
+
217
+ <h2 id="extra-credit-opportunities">Extra Credit Opportunities</h2>
218
+
219
+ Standing extra credit is always offered to allow students to bump their grade up if they are on a
220
+ grading boundary so please take advantage of any extra credit offered. Any extra credit given over
221
+ the semester can not exceed 2.5% of the total points offered. For example the maximum number of
222
+ extra credit points that you can earn if the total points offered is 1000 would be 25.
223
+
224
+ <h3 id="standing-extra-credit">Standing extra credit</h3>
225
+ <ul>
226
+ <li>
227
+ Typos and Bugs - If you find any typos or bugs in the course materials email me what you found.
228
+ You can claim this extra credit as many times as you wish (up to the maximum number of points).
229
+ </li>
230
+ <li>
231
+ At the end of the semester I will give the top five students who have the most discussion forum
232
+ contributions 10 points. Contributions can be posting questions or answering other students
233
+ questions.
234
+ </li>
235
+ </ul>