-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAssignmentWebpage.html
More file actions
698 lines (646 loc) · 84 KB
/
AssignmentWebpage.html
File metadata and controls
698 lines (646 loc) · 84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
<!DOCTYPE html>
<!-- saved from url=(0061)https://eclass.srv.ualberta.ca/mod/assign/view.php?id=3373642 -->
<html dir="ltr" lang="en" xml:lang="en" class="yui3-js-enabled gr__eclass_srv_ualberta_ca"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Assignment</title>
<link rel="shortcut icon" href="https://eclass.srv.ualberta.ca/theme/image.php/boost/theme/1550179047/favicon">
<meta name="apple-itunes-app" content="app-id=1448248368, app-argument=https://eclass.srv.ualberta.ca/mod/assign/view.php?id=3373642&rownum=0&useridlistid=5c683a84a729e646606057&action"><link rel="manifest" href="https://eclass.srv.ualberta.ca/admin/tool/mobile/mobile.webmanifest.php"><script src="./AssignmentWebpage_files/nr-1118.min.js.download"></script><script async="" src="./AssignmentWebpage_files/gtm.js.download"></script><script type="text/javascript">window.NREUM||(NREUM={}),__nr_require=function(e,n,t){function r(t){if(!n[t]){var o=n[t]={exports:{}};e[t][0].call(o.exports,function(n){var o=e[t][1][n];return r(o||n)},o,o.exports)}return n[t].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<t.length;o++)r(t[o]);return r}({1:[function(e,n,t){function r(){}function o(e,n,t){return function(){return i(e,[c.now()].concat(u(arguments)),n?null:this,t),n?void 0:this}}var i=e("handle"),a=e(3),u=e(4),f=e("ee").get("tracer"),c=e("loader"),s=NREUM;"undefined"==typeof window.newrelic&&(newrelic=s);var p=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],d="api-",l=d+"ixn-";a(p,function(e,n){s[n]=o(d+n,!0,"api")}),s.addPageAction=o(d+"addPageAction",!0),s.setCurrentRouteName=o(d+"routeName",!0),n.exports=newrelic,s.interaction=function(){return(new r).get()};var m=r.prototype={createTracer:function(e,n){var t={},r=this,o="function"==typeof n;return i(l+"tracer",[c.now(),e,t],r),function(){if(f.emit((o?"":"no-")+"fn-start",[c.now(),r,o],t),o)try{return n.apply(this,arguments)}catch(e){throw f.emit("fn-err",[arguments,this,e],t),e}finally{f.emit("fn-end",[c.now()],t)}}}};a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(e,n){m[n]=o(l+n)}),newrelic.noticeError=function(e,n){"string"==typeof e&&(e=new Error(e)),i("err",[e,c.now(),!1,n])}},{}],2:[function(e,n,t){function r(e,n){if(!o)return!1;if(e!==o)return!1;if(!n)return!0;if(!i)return!1;for(var t=i.split("."),r=n.split("."),a=0;a<r.length;a++)if(r[a]!==t[a])return!1;return!0}var o=null,i=null,a=/Version\/(\S+)\s+Safari/;if(navigator.userAgent){var u=navigator.userAgent,f=u.match(a);f&&u.indexOf("Chrome")===-1&&u.indexOf("Chromium")===-1&&(o="Safari",i=f[1])}n.exports={agent:o,version:i,match:r}},{}],3:[function(e,n,t){function r(e,n){var t=[],r="",i=0;for(r in e)o.call(e,r)&&(t[i]=n(r,e[r]),i+=1);return t}var o=Object.prototype.hasOwnProperty;n.exports=r},{}],4:[function(e,n,t){function r(e,n,t){n||(n=0),"undefined"==typeof t&&(t=e?e.length:0);for(var r=-1,o=t-n||0,i=Array(o<0?0:o);++r<o;)i[r]=e[n+r];return i}n.exports=r},{}],5:[function(e,n,t){n.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],ee:[function(e,n,t){function r(){}function o(e){function n(e){return e&&e instanceof r?e:e?f(e,u,i):i()}function t(t,r,o,i){if(!d.aborted||i){e&&e(t,r,o);for(var a=n(o),u=v(t),f=u.length,c=0;c<f;c++)u[c].apply(a,r);var p=s[y[t]];return p&&p.push([b,t,r,a]),a}}function l(e,n){h[e]=v(e).concat(n)}function m(e,n){var t=h[e];if(t)for(var r=0;r<t.length;r++)t[r]===n&&t.splice(r,1)}function v(e){return h[e]||[]}function g(e){return p[e]=p[e]||o(t)}function w(e,n){c(e,function(e,t){n=n||"feature",y[t]=n,n in s||(s[n]=[])})}var h={},y={},b={on:l,addEventListener:l,removeEventListener:m,emit:t,get:g,listeners:v,context:n,buffer:w,abort:a,aborted:!1};return b}function i(){return new r}function a(){(s.api||s.feature)&&(d.aborted=!0,s=d.backlog={})}var u="nr@context",f=e("gos"),c=e(3),s={},p={},d=n.exports=o();d.backlog=s},{}],gos:[function(e,n,t){function r(e,n,t){if(o.call(e,n))return e[n];var r=t();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,n,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return e[n]=r,r}var o=Object.prototype.hasOwnProperty;n.exports=r},{}],handle:[function(e,n,t){function r(e,n,t,r){o.buffer([e],r),o.emit(e,n,t)}var o=e("ee").get("handle");n.exports=r,r.ee=o},{}],id:[function(e,n,t){function r(e){var n=typeof e;return!e||"object"!==n&&"function"!==n?-1:e===window?0:a(e,i,function(){return o++})}var o=1,i="nr@id",a=e("gos");n.exports=r},{}],loader:[function(e,n,t){function r(){if(!E++){var e=x.info=NREUM.info,n=l.getElementsByTagName("script")[0];if(setTimeout(s.abort,3e4),!(e&&e.licenseKey&&e.applicationID&&n))return s.abort();c(y,function(n,t){e[n]||(e[n]=t)}),f("mark",["onload",a()+x.offset],null,"api");var t=l.createElement("script");t.src="https://"+e.agent,n.parentNode.insertBefore(t,n)}}function o(){"complete"===l.readyState&&i()}function i(){f("mark",["domContent",a()+x.offset],null,"api")}function a(){return O.exists&&performance.now?Math.round(performance.now()):(u=Math.max((new Date).getTime(),u))-x.offset}var u=(new Date).getTime(),f=e("handle"),c=e(3),s=e("ee"),p=e(2),d=window,l=d.document,m="addEventListener",v="attachEvent",g=d.XMLHttpRequest,w=g&&g.prototype;NREUM.o={ST:setTimeout,SI:d.setImmediate,CT:clearTimeout,XHR:g,REQ:d.Request,EV:d.Event,PR:d.Promise,MO:d.MutationObserver};var h=""+location,y={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-1118.min.js"},b=g&&w&&w[m]&&!/CriOS/.test(navigator.userAgent),x=n.exports={offset:u,now:a,origin:h,features:{},xhrWrappable:b,userAgent:p};e(1),l[m]?(l[m]("DOMContentLoaded",i,!1),d[m]("load",r,!1)):(l[v]("onreadystatechange",o),d[v]("onload",r)),f("mark",["firstbyte",u],null,"api");var E=0,O=e(5)},{}]},{},["loader"]);</script>
<meta name="keywords" content="moodle, Assignment">
<link rel="stylesheet" type="text/css" href="./AssignmentWebpage_files/combo"><link charset="utf-8" rel="stylesheet" id="yui_3_17_2_1_1550334595872_8" href="./AssignmentWebpage_files/combo(1)"><script charset="utf-8" id="yui_3_17_2_1_1550334595872_9" src="./AssignmentWebpage_files/combo(2)" async=""></script><script charset="utf-8" id="yui_3_17_2_1_1550334595872_26" src="./AssignmentWebpage_files/combo(3)" async=""></script><script charset="utf-8" id="yui_3_17_2_1_1550334595872_28" src="./AssignmentWebpage_files/javascript.php" async=""></script><script charset="utf-8" id="yui_3_17_2_1_1550334595872_31" src="./AssignmentWebpage_files/combo(4)" async=""></script><link charset="utf-8" rel="stylesheet" id="yui_3_17_2_1_1550334595872_32" href="./AssignmentWebpage_files/combo(5)"><script charset="utf-8" id="yui_3_17_2_1_1550334595872_33" src="./AssignmentWebpage_files/combo(6)" async=""></script><script charset="utf-8" id="yui_3_17_2_1_1550334595872_34" src="./AssignmentWebpage_files/combo(7)" async=""></script><script charset="utf-8" id="yui_3_17_2_1_1550334595872_35" src="./AssignmentWebpage_files/javascript(1).php" async=""></script><script charset="utf-8" id="yui_3_17_2_1_1550334595872_36" src="./AssignmentWebpage_files/combo(8)" async=""></script><script id="firstthemesheet" type="text/css">/** Required in order to fix style inclusion problems in IE with YUI **/</script><link rel="stylesheet" type="text/css" href="./AssignmentWebpage_files/styles.php">
<script type="text/javascript">
//<![CDATA[
var M = {}; M.yui = {};
M.pageloadstarttime = new Date();
M.cfg = {"wwwroot":"https:\/\/eclass.srv.ualberta.ca","sesskey":"pDNMLb14Jl","themerev":"1550179047","slasharguments":1,"theme":"boost","iconsystemmodule":"core\/icon_system_fontawesome","jsrev":"1550179047","admin":"admin","svgicons":true,"usertimezone":"America\/Denver","contextid":4797291};var yui1ConfigFn = function(me) {if(/-skin|reset|fonts|grids|base/.test(me.name)){me.type='css';me.path=me.path.replace(/\.js/,'.css');me.path=me.path.replace(/\/yui2-skin/,'/assets/skins/sam/yui2-skin')}};
var yui2ConfigFn = function(me) {var parts=me.name.replace(/^moodle-/,'').split('-'),component=parts.shift(),module=parts[0],min='-min';if(/-(skin|core)$/.test(me.name)){parts.pop();me.type='css';min=''}
if(module){var filename=parts.join('-');me.path=component+'/'+module+'/'+filename+min+'.'+me.type}else{me.path=component+'/'+component+'.'+me.type}};
YUI_config = {"debug":false,"base":"https:\/\/eclass.srv.ualberta.ca\/lib\/yuilib\/3.17.2\/","comboBase":"https:\/\/eclass.srv.ualberta.ca\/theme\/yui_combo.php?","combine":true,"filter":null,"insertBefore":"firstthemesheet","groups":{"yui2":{"base":"https:\/\/eclass.srv.ualberta.ca\/lib\/yuilib\/2in3\/2.9.0\/build\/","comboBase":"https:\/\/eclass.srv.ualberta.ca\/theme\/yui_combo.php?","combine":true,"ext":false,"root":"2in3\/2.9.0\/build\/","patterns":{"yui2-":{"group":"yui2","configFn":yui1ConfigFn}}},"moodle":{"name":"moodle","base":"https:\/\/eclass.srv.ualberta.ca\/theme\/yui_combo.php?m\/1550179047\/","combine":true,"comboBase":"https:\/\/eclass.srv.ualberta.ca\/theme\/yui_combo.php?","ext":false,"root":"m\/1550179047\/","patterns":{"moodle-":{"group":"moodle","configFn":yui2ConfigFn}},"filter":null,"modules":{"moodle-core-languninstallconfirm":{"requires":["base","node","moodle-core-notification-confirm","moodle-core-notification-alert"]},"moodle-core-handlebars":{"condition":{"trigger":"handlebars","when":"after"}},"moodle-core-chooserdialogue":{"requires":["base","panel","moodle-core-notification"]},"moodle-core-lockscroll":{"requires":["plugin","base-build"]},"moodle-core-checknet":{"requires":["base-base","moodle-core-notification-alert","io-base"]},"moodle-core-notification":{"requires":["moodle-core-notification-dialogue","moodle-core-notification-alert","moodle-core-notification-confirm","moodle-core-notification-exception","moodle-core-notification-ajaxexception"]},"moodle-core-notification-dialogue":{"requires":["base","node","panel","escape","event-key","dd-plugin","moodle-core-widget-focusafterclose","moodle-core-lockscroll"]},"moodle-core-notification-alert":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-confirm":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-exception":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-ajaxexception":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-formchangechecker":{"requires":["base","event-focus","moodle-core-event"]},"moodle-core-maintenancemodetimer":{"requires":["base","node"]},"moodle-core-blocks":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification"]},"moodle-core-dragdrop":{"requires":["base","node","io","dom","dd","event-key","event-focus","moodle-core-notification"]},"moodle-core-dock":{"requires":["base","node","event-custom","event-mouseenter","event-resize","escape","moodle-core-dock-loader","moodle-core-event"]},"moodle-core-dock-loader":{"requires":["escape"]},"moodle-core-popuphelp":{"requires":["moodle-core-tooltip"]},"moodle-core-event":{"requires":["event-custom"]},"moodle-core-tooltip":{"requires":["base","node","io-base","moodle-core-notification-dialogue","json-parse","widget-position","widget-position-align","event-outside","cache-base"]},"moodle-core-actionmenu":{"requires":["base","event","node-event-simulate"]},"moodle-core_availability-form":{"requires":["base","node","event","event-delegate","panel","moodle-core-notification-dialogue","json"]},"moodle-backup-backupselectall":{"requires":["node","event","node-event-simulate","anim"]},"moodle-backup-confirmcancel":{"requires":["node","node-event-simulate","moodle-core-notification-confirm"]},"moodle-course-util":{"requires":["node"],"use":["moodle-course-util-base"],"submodules":{"moodle-course-util-base":{},"moodle-course-util-section":{"requires":["node","moodle-course-util-base"]},"moodle-course-util-cm":{"requires":["node","moodle-course-util-base"]}}},"moodle-course-categoryexpander":{"requires":["node","event-key"]},"moodle-course-management":{"requires":["base","node","io-base","moodle-core-notification-exception","json-parse","dd-constrain","dd-proxy","dd-drop","dd-delegate","node-event-delegate"]},"moodle-course-dragdrop":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification","moodle-course-coursebase","moodle-course-util"]},"moodle-course-modchooser":{"requires":["moodle-core-chooserdialogue","moodle-course-coursebase"]},"moodle-course-formatchooser":{"requires":["base","node","node-event-simulate"]},"moodle-form-passwordunmask":{"requires":[]},"moodle-form-showadvanced":{"requires":["node","base","selector-css3"]},"moodle-form-shortforms":{"requires":["node","base","selector-css3","moodle-core-event"]},"moodle-form-dateselector":{"requires":["base","node","overlay","calendar"]},"moodle-group-selectsizecorrection":{"requires":["base","node"]},"moodle-question-chooser":{"requires":["moodle-core-chooserdialogue"]},"moodle-question-searchform":{"requires":["base","node"]},"moodle-question-preview":{"requires":["base","dom","event-delegate","event-key","core_question_engine"]},"moodle-question-qbankmanager":{"requires":["node","selector-css3"]},"moodle-availability_completion-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_date-form":{"requires":["base","node","event","io","moodle-core_availability-form"]},"moodle-availability_grade-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_group-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_grouping-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_profile-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-qtype_ddimageortext-form":{"requires":["moodle-qtype_ddimageortext-dd","form_filepicker"]},"moodle-qtype_ddimageortext-dd":{"requires":["node","dd","dd-drop","dd-constrain"]},"moodle-qtype_ddmarker-form":{"requires":["moodle-qtype_ddmarker-dd","form_filepicker","graphics","escape"]},"moodle-qtype_ddmarker-dd":{"requires":["node","event-resize","dd","dd-drop","dd-constrain","graphics"]},"moodle-qtype_ddwtos-dd":{"requires":["node","dd","dd-drop","dd-constrain"]},"moodle-qtype_stack-input":{"requires":["node","event-valuechange","moodle-core-event","io","json-parse"]},"moodle-mod_anonforum-subscriptiontoggle":{"requires":["base-base","io-base"]},"moodle-mod_assign-history":{"requires":["node","transition"]},"moodle-mod_certificate-preview":{"requires":["base","node","event","event-key","io"]},"moodle-mod_forum-subscriptiontoggle":{"requires":["base-base","io-base"]},"moodle-mod_quiz-util":{"requires":["node","moodle-core-actionmenu"],"use":["moodle-mod_quiz-util-base"],"submodules":{"moodle-mod_quiz-util-base":{},"moodle-mod_quiz-util-slot":{"requires":["node","moodle-mod_quiz-util-base"]},"moodle-mod_quiz-util-page":{"requires":["node","moodle-mod_quiz-util-base"]}}},"moodle-mod_quiz-randomquestion":{"requires":["base","event","node","io","moodle-core-notification-dialogue"]},"moodle-mod_quiz-toolboxes":{"requires":["base","node","event","event-key","io","moodle-mod_quiz-quizbase","moodle-mod_quiz-util-slot","moodle-core-notification-ajaxexception"]},"moodle-mod_quiz-quizbase":{"requires":["base","node"]},"moodle-mod_quiz-dragdrop":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification","moodle-mod_quiz-quizbase","moodle-mod_quiz-util-base","moodle-mod_quiz-util-page","moodle-mod_quiz-util-slot","moodle-course-util"]},"moodle-mod_quiz-modform":{"requires":["base","node","event"]},"moodle-mod_quiz-repaginate":{"requires":["base","event","node","io","moodle-core-notification-dialogue"]},"moodle-mod_quiz-questionchooser":{"requires":["moodle-core-chooserdialogue","moodle-mod_quiz-util","querystring-parse"]},"moodle-mod_quiz-autosave":{"requires":["base","node","event","event-valuechange","node-event-delegate","io-form"]},"moodle-mod_quiz-quizquestionbank":{"requires":["base","event","node","io","io-form","yui-later","moodle-question-qbankmanager","moodle-core-notification-dialogue"]},"moodle-message_airnotifier-toolboxes":{"requires":["base","node","io"]},"moodle-block_eclass_course_management-module":{"requires":["base","node","event","event-key","io","moodle-core-notification-confirm","moodle-core-notification-alert","handlebars","array-extras"]},"moodle-block_xp-notification":{"requires":["base","node","handlebars","button-plugin","moodle-core-notification-dialogue"]},"moodle-block_xp-rulepicker":{"requires":["base","node","handlebars","moodle-core-notification-dialogue"]},"moodle-block_xp-filters":{"requires":["base","node","moodle-core-dragdrop","moodle-block_xp-rulepicker"]},"moodle-filter_glossary-autolinker":{"requires":["base","node","io-base","json-parse","event-delegate","overlay","moodle-core-event","moodle-core-notification-alert","moodle-core-notification-exception","moodle-core-notification-ajaxexception"]},"moodle-filter_mathjaxloader-loader":{"requires":["moodle-core-event"]},"moodle-editor_atto-editor":{"requires":["node","transition","io","overlay","escape","event","event-simulate","event-custom","node-event-html5","node-event-simulate","yui-throttle","moodle-core-notification-dialogue","moodle-core-notification-confirm","moodle-editor_atto-rangy","handlebars","timers","querystring-stringify"]},"moodle-editor_atto-plugin":{"requires":["node","base","escape","event","event-outside","handlebars","event-custom","timers","moodle-editor_atto-menu"]},"moodle-editor_atto-menu":{"requires":["moodle-core-notification-dialogue","node","event","event-custom"]},"moodle-editor_atto-rangy":{"requires":[]},"moodle-report_eventlist-eventfilter":{"requires":["base","event","node","node-event-delegate","datatable","autocomplete","autocomplete-filters"]},"moodle-report_loglive-fetchlogs":{"requires":["base","event","node","io","node-event-delegate"]},"moodle-gradereport_grader-gradereporttable":{"requires":["base","node","event","handlebars","overlay","event-hover"]},"moodle-gradereport_history-userselector":{"requires":["escape","event-delegate","event-key","handlebars","io-base","json-parse","moodle-core-notification-dialogue"]},"moodle-tool_capability-search":{"requires":["base","node"]},"moodle-tool_lp-dragdrop-reorder":{"requires":["moodle-core-dragdrop"]},"moodle-tool_monitor-dropdown":{"requires":["base","event","node"]},"moodle-assignfeedback_editpdf-editor":{"requires":["base","event","node","io","graphics","json","event-move","event-resize","transition","querystring-stringify-simple","moodle-core-notification-dialog","moodle-core-notification-alert","moodle-core-notification-exception","moodle-core-notification-ajaxexception"]},"moodle-atto_accessibilitychecker-button":{"requires":["color-base","moodle-editor_atto-plugin"]},"moodle-atto_accessibilityhelper-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_align-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_bold-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_charmap-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_clear-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_collapse-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_countplusplus-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_emoticon-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_equation-button":{"requires":["moodle-editor_atto-plugin","moodle-core-event","io","event-valuechange","tabview","array-extras"]},"moodle-atto_fullscreen-button":{"requires":["event-resize","moodle-editor_atto-plugin"]},"moodle-atto_hr-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_html-button":{"requires":["moodle-editor_atto-plugin","event-valuechange"]},"moodle-atto_image-button":{"requires":["moodle-editor_atto-rangy","moodle-editor_atto-plugin","resize","resize-plugin","dd-plugin","dd-constrain","graphics","transition","event-custom","event-focus","anim"]},"moodle-atto_indent-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_italic-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_kalturamedia-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_link-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_managefiles-usedfiles":{"requires":["node","escape"]},"moodle-atto_managefiles-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_media-button":{"requires":["moodle-editor_atto-plugin","moodle-form-shortforms"]},"moodle-atto_noautolink-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_orderedlist-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_rtl-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_statusbar-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_strike-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_subscript-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_superscript-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_table-button":{"requires":["moodle-editor_atto-plugin","moodle-editor_atto-menu","event","event-valuechange"]},"moodle-atto_title-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_underline-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_undo-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_unorderedlist-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-local_kaltura-ltitinymcepanel":{"requires":["base","node","panel","node-event-simulate"]},"moodle-local_kaltura-ltiservice":{"requires":["base","node","node-event-simulate"]},"moodle-local_kaltura-lticontainer":{"requires":["base","node"]},"moodle-local_kaltura-ltipanel":{"requires":["base","node","panel","node-event-simulate"]}}},"gallery":{"name":"gallery","base":"https:\/\/eclass.srv.ualberta.ca\/lib\/yuilib\/gallery\/","combine":true,"comboBase":"https:\/\/eclass.srv.ualberta.ca\/theme\/yui_combo.php?","ext":false,"root":"gallery\/1550179047\/","patterns":{"gallery-":{"group":"gallery"}}}},"modules":{"core_filepicker":{"name":"core_filepicker","fullpath":"https:\/\/eclass.srv.ualberta.ca\/lib\/javascript.php\/1550179047\/repository\/filepicker.js","requires":["base","node","node-event-simulate","json","async-queue","io-base","io-upload-iframe","io-form","yui2-treeview","panel","cookie","datatable","datatable-sort","resize-plugin","dd-plugin","escape","moodle-core_filepicker","moodle-core-notification-dialogue"]},"core_comment":{"name":"core_comment","fullpath":"https:\/\/eclass.srv.ualberta.ca\/lib\/javascript.php\/1550179047\/comment\/comment.js","requires":["base","io-base","node","json","yui2-animation","overlay","escape"]},"mathjax":{"name":"mathjax","fullpath":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/mathjax\/2.7.2\/MathJax.js?delayStartupUntil=configured"},"mod_assign":{"name":"mod_assign","fullpath":"https:\/\/eclass.srv.ualberta.ca\/lib\/javascript.php\/1550179047\/mod\/assign\/module.js","requires":[]}}};
M.yui.loader = {modules: {}};
//]]>
</script>
<style>
.tooltip.mcstrike {
// Note: We could've used "initial" keywords, but IE can't understand that, so we have to manually specify the defaults.
z-index: 10;
top: auto;
left: auto;
line-height: normal;
visibility: visible;
box-shadow: none;
width: auto;
padding: 0px;
background: transparent;
text-align: right;
}
</style>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="core/first" src="./AssignmentWebpage_files/requirejs.php"></script><script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="core/event" src="./AssignmentWebpage_files/requirejs(1).php"></script><script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="jquery" src="./AssignmentWebpage_files/javascript(2).php"></script><script type="text/x-mathjax-config">
MathJax.Hub.Config({
config: ["Accessible.js", "Safe.js"],
errorSettings: { message: ["!"] },
skipStartupTypeset: true,
messageStyle: "none"
});
</script></head>
<body id="page-mod-assign-view" class="format-topcoll path-mod path-mod-assign safari dir-ltr lang-en yui-skin-sam yui3-skin-sam eclass-srv-ualberta-ca pagelayout-report course-49646 context-4797291 cmid-3373642 category-1170 jsenabled" data-gr-c-s-loaded="true">
<div id="page-wrapper">
<div>
<a class="sr-only sr-only-focusable" href="https://eclass.srv.ualberta.ca/mod/assign/view.php?id=3373642#maincontent">Skip to main content</a>
</div><script type="text/javascript" src="./AssignmentWebpage_files/combo(9)"></script><script type="text/javascript" src="./AssignmentWebpage_files/javascript(3).php"></script>
<script type="text/javascript">
//<![CDATA[
document.body.className += ' jsenabled';
//]]>
</script>
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-T7MGWQ"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-T7MGWQ');</script>
<!-- End Google Tag Manager -->
<header role="banner" class="pos-f-t navbar navbar-full navbar-light bg-faded navbar-static-top moodle-has-zindex">
<div class="container-fluid navbar-nav">
<div data-region="drawer-toggle">
<button aria-expanded="false" aria-controls="nav-drawer" type="button" class="btn pull-xs-left m-r-1 btn-secondary" data-action="toggle-drawer" data-side="left" data-preference="drawer-open-nav"><i class="icon fa fa-bars fa-fw " aria-hidden="true" aria-label=""></i><span class="sr-only">Side panel</span></button>
</div>
<a href="https://eclass.srv.ualberta.ca/" class="navbar-brand
hidden-sm-down
">
<span class="site-name hidden-sm-down">eClass</span>
</a>
<!-- user_menu -->
<div class="usermenu"><div class="action-menu moodle-actionmenu nowrap-items" id="action-menu-1" data-enhance="moodle-core-actionmenu">
<div class="menubar" id="action-menu-1-menubar" role="menubar">
<div class="dropdown d-inline">
<a tabindex="0" class=" dropdown-toggle icon-no-margin" id="dropdown-1" aria-label="User menu" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-controls="action-menu-1-menu"><span class="userbutton"><span class="usertext">Paul Saunders</span><span class="avatars"><span class="avatar current"><img src="./AssignmentWebpage_files/f2.png" alt="Picture of Paul Saunders" title="Picture of Paul Saunders" class="userpicture defaultuserpic" width="35" height="35" role="presentation"></span></span></span><b class="caret"></b></a>
<div class="dropdown-menu dropdown-menu-right menu align-tr-br" id="action-menu-1-menu" data-rel="menu-content" aria-labelledby="action-menu-toggle-1" role="menu" data-align="tr-br">
<a href="https://eclass.srv.ualberta.ca/my/" class="dropdown-item menu-action" role="menuitem" data-title="mymoodle,admin" aria-labelledby="actionmenuaction-1"><i class="icon fa fa-tachometer fa-fw " aria-hidden="true" title="Dashboard" aria-label="Dashboard"></i><span class="menu-action-text" id="actionmenuaction-1">Dashboard</span></a><div class="dropdown-divider" role="presentation"><span class="filler"> </span></div><a href="https://eclass.srv.ualberta.ca/user/profile.php?id=376477" class="dropdown-item menu-action" role="menuitem" data-title="profile,moodle" aria-labelledby="actionmenuaction-2"><i class="icon fa fa-user fa-fw " aria-hidden="true" title="Profile" aria-label="Profile"></i><span class="menu-action-text" id="actionmenuaction-2">Profile</span></a><a href="https://eclass.srv.ualberta.ca/grade/report/overview/index.php" class="dropdown-item menu-action" role="menuitem" data-title="grades,grades" aria-labelledby="actionmenuaction-3"><i class="icon fa fa-table fa-fw " aria-hidden="true" title="Grades" aria-label="Grades"></i><span class="menu-action-text" id="actionmenuaction-3">Grades</span></a><a href="https://eclass.srv.ualberta.ca/user/preferences.php" class="dropdown-item menu-action" role="menuitem" data-title="preferences,moodle" aria-labelledby="actionmenuaction-4"><i class="icon fa fa-wrench fa-fw " aria-hidden="true" title="Preferences" aria-label="Preferences"></i><span class="menu-action-text" id="actionmenuaction-4">Preferences</span></a><div class="dropdown-divider" role="presentation"><span class="filler"> </span></div><a href="https://eclass.srv.ualberta.ca/login/logout.php?sesskey=pDNMLb14Jl" class="dropdown-item menu-action" role="menuitem" data-title="logout,moodle" aria-labelledby="actionmenuaction-5"><i class="icon fa fa-sign-out fa-fw " aria-hidden="true" title="Log out" aria-label="Log out"></i><span class="menu-action-text" id="actionmenuaction-5">Log out</span></a>
</div>
</div>
</div>
</div></div>
<!-- navbar_plugin_output -->
<div class="popover-region collapsed popover-region-messages" id="nav-message-popover-container" data-userid="376477" data-region="popover-region">
<div class="popover-region-toggle nav-link" data-region="popover-region-toggle" aria-role="button" aria-controls="popover-region-container-5c683a84ba5f55c683a84ac16e13" aria-haspopup="true" aria-label="Show message window with no new messages" tabindex="0">
<i class="icon fa fa-comment fa-fw " aria-hidden="true" title="Toggle messages menu" aria-label="Toggle messages menu"></i>
<div class="count-container hidden" data-region="count-container">0</div>
</div>
<div id="popover-region-container-5c683a84ba5f55c683a84ac16e13" class="popover-region-container" data-region="popover-region-container" aria-expanded="false" aria-hidden="true" aria-label="Notification window" role="region">
<div class="popover-region-header-container">
<h3 class="popover-region-header-text" data-region="popover-region-header-text">Messages</h3>
<div class="popover-region-header-actions" data-region="popover-region-header-actions"> <div class="newmessage-link">
<a href="https://eclass.srv.ualberta.ca/message/index.php?contactsfirst=1">New message
</a>
</div>
<a class="mark-all-read-button" href="https://eclass.srv.ualberta.ca/mod/assign/view.php?id=3373642#" role="button" title="Mark all as read" data-action="mark-all-read">
<span class="normal-icon"><i class="icon fa fa-check fa-fw " aria-hidden="true" title="Mark all as read" aria-label="Mark all as read"></i></span>
<span class="loading-icon"><img class="icon " alt="Loading" title="Loading" src="./AssignmentWebpage_files/loading.gif"></span>
</a>
<a href="https://eclass.srv.ualberta.ca/message/edit.php?id=376477" title="Message preferences">
<i class="icon fa fa-cog fa-fw " aria-hidden="true" title="Message preferences" aria-label="Message preferences"></i>
</a>
</div>
</div>
<div class="popover-region-content-container" data-region="popover-region-content-container">
<div class="popover-region-content" data-region="popover-region-content">
<div class="messages" data-region="messages" role="log" aria-busy="false" aria-atomic="false" aria-relevant="additions"></div>
<div class="empty-message" data-region="empty-message" tabindex="0">No messages</div>
</div>
<span class="loading-icon"><img class="icon " alt="Loading" title="Loading" src="./AssignmentWebpage_files/loading.gif"></span>
</div>
<a class="see-all-link" href="https://eclass.srv.ualberta.ca/message/index.php">
<div class="popover-region-footer-container">
<div class="popover-region-seeall-text">See all</div>
</div>
</a>
</div>
</div><div class="popover-region collapsed popover-region-notifications" id="nav-notification-popover-container" data-userid="376477" data-region="popover-region">
<div class="popover-region-toggle nav-link" data-region="popover-region-toggle" aria-role="button" aria-controls="popover-region-container-5c683a84bb1d55c683a84ac16e14" aria-haspopup="true" aria-label="Show notification window with no new notifications" tabindex="0">
<i class="icon fa fa-bell fa-fw " aria-hidden="true" title="Toggle notifications menu" aria-label="Toggle notifications menu"></i>
<div class="count-container hidden" data-region="count-container">0</div>
</div>
<div id="popover-region-container-5c683a84bb1d55c683a84ac16e14" class="popover-region-container" data-region="popover-region-container" aria-expanded="false" aria-hidden="true" aria-label="Notification window" role="region">
<div class="popover-region-header-container">
<h3 class="popover-region-header-text" data-region="popover-region-header-text">Notifications</h3>
<div class="popover-region-header-actions" data-region="popover-region-header-actions"> <a class="mark-all-read-button" href="https://eclass.srv.ualberta.ca/mod/assign/view.php?id=3373642#" title="Mark all as read" data-action="mark-all-read" role="button">
<span class="normal-icon"><i class="icon fa fa-check fa-fw " aria-hidden="true" title="Mark all as read" aria-label="Mark all as read"></i></span>
<span class="loading-icon"><img class="icon " alt="Loading" title="Loading" src="./AssignmentWebpage_files/loading.gif"></span>
</a>
<a href="https://eclass.srv.ualberta.ca/message/notificationpreferences.php?userid=376477" title="Notification preferences">
<i class="icon fa fa-cog fa-fw " aria-hidden="true" title="Notification preferences" aria-label="Notification preferences"></i>
</a>
</div>
</div>
<div class="popover-region-content-container" data-region="popover-region-content-container">
<div class="popover-region-content" data-region="popover-region-content">
<div class="all-notifications" data-region="all-notifications" role="log" aria-busy="false" aria-atomic="false" aria-relevant="additions"></div>
<div class="empty-message" tabindex="0" data-region="empty-message">You have no notifications</div>
</div>
<span class="loading-icon"><img class="icon " alt="Loading" title="Loading" src="./AssignmentWebpage_files/loading.gif"></span>
</div>
<a class="see-all-link" href="https://eclass.srv.ualberta.ca/message/output/popup/notifications.php">
<div class="popover-region-footer-container">
<div class="popover-region-seeall-text">See all</div>
</div>
</a>
</div>
</div>
<!-- search_box -->
<span class="hidden-md-down">
</span>
<nav class="nav navbar-nav hidden-md-down">
<!-- custom_menu -->
<a class="nav-item nav-link" href="https://support.ctl.ualberta.ca/" target="_blank" title="Help">Help</a><a class="nav-item nav-link" href="https://mail.google.com/a/ualberta.ca" target="_blank" "="" title="Email">Email</a>
<!-- page_heading_menu -->
</nav>
</div>
</header>
<div id="page" class="container-fluid">
<header id="page-header" class="row"><div class="col-xs-12 p-a-1"><div class="card"><div class="card-block"><div class="pull-xs-right context-header-settings-menu"></div><div class="pull-xs-left"><div class="page-context-header"><div class="page-header-headings"><h1>CMPUT 175 Wi19 - INTRO TO FNDTNS OF CMPUT II</h1></div></div></div><div class="clearfix w-100 pull-xs-left" id="page-navbar"><div class="breadcrumb-nav"><nav role="navigation">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="https://eclass.srv.ualberta.ca/my/">Dashboard</a>
</li>
<li class="breadcrumb-item">My courses</li>
<li class="breadcrumb-item">
<a href="https://eclass.srv.ualberta.ca/course/view.php?id=49646" title="CMPUT 175 Wi19 - INTRO TO FNDTNS OF CMPUT II">CMPUT 175 (Winter 2019 LAB LEC)</a>
</li>
<li class="breadcrumb-item">
<a href="https://eclass.srv.ualberta.ca/course/view.php?id=49646#section-6">Week 6 (Feb 11 - 15) - Queues</a>
</li>
<li class="breadcrumb-item">
<a href="https://eclass.srv.ualberta.ca/mod/assign/view.php?id=3373642" title="Assignment">Assignment 2</a>
</li>
</ol>
</nav></div><div class="breadcrumb-button pull-xs-right"></div></div><div id="course-header"></div></div></div></div></header>
<div id="page-content" class="row">
<div id="region-main-box" class="col-xs-12">
<section id="region-main">
<div class="card card-block" id="yui_3_17_2_1_1550334595872_49">
<span class="notifications" id="user-notifications"></span>
<div role="main" id="yui_3_17_2_1_1550334595872_48"><span id="maincontent"></span><h2>Assignment 2</h2><div id="intro" class="box generalbox boxaligncenter p-y-1"><div class="no-overflow"><h1 style="margin: 10px 0px; font-family: "Open Sans", Arial, sans-serif; font-weight: 100; line-height: 40px; color: rgb(0, 0, 0); text-rendering: optimizeLegibility; font-size: 2.2em; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);">Assignment 2 - Class, data structure and encapsulation</h1><p style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Open Sans", Arial, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span style="text-decoration: underline;"><b>Due Date:</b></span> March <span>3</span><span><span style="">th</span></span> 2019 at 23:55 </p><p style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Open Sans", Arial, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span style="text-decoration: underline;"><b>Percentage overall grade:</b></span> 5%<br><span style="text-decoration: underline;"><b>Penalties:</b></span> No late assignments allowed<br><span style="text-decoration: underline;"><b>Maximum Marks:</b></span> 10</p><p style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Open Sans", Arial, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><b>Goal</b>: refresher of Python and hands-on experience with class building and encapsulation. Understand how classes can be used to represent complex objects, and use methods to interact with the class state.</p><p style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Open Sans", Arial, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><strong style="font-weight: bold; font-size: large;">Assignment Specifications</strong></p><p style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Open Sans", Arial, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span style="font-size: large;"><span style="font-size: x-large;">Problem : The Reversi Game</span></span><strong style="font-weight: bold; font-size: large;"><br></strong></p><p style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Open Sans", Arial, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"></p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;">Reversi is a 2-player game, played on an 8 x 8 board. Players take turns placing their disks on the board with their assigned colour (Black and White). Black is the first player to move. A player may place their disk anywhere on the board, as long as it surrounds a group of the opponents disks (vertically, horizontally, or diagonally) on opposite sides. Any disks that you surround will become yours and will flip over to your colour. The game is over when the player to move has no possible legal move.<br></p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;">Example:<br></p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;">The board must always start off as such</p>
<pre>Example:
The board must always start off as such
0 1 2 3 4 5 6 7
0 . . . . . . . .
1 . . . . . . . .
2 . . . . . . . .
3 . . . w b . . .
4 . . . b w . . .
5 . . . . . . . .
6 . . . . . . . .
7 . . . . . . . . <span style="font-size: 14px; white-space: normal;">
</span></pre>
<p style="margin: 0px 0px 10px; orphans: 2; text-align: left; text-indent: 0px; widows: 2; background-color: rgb(255, 255, 255);">BLACK is the first to move. BLACK must place a piece such that at least one straight (vertical, horizontal, or diagonal) line is made with another BLACK piece, with at least one White piece between and no empty spaces allowed. The available moves BLACK can make are denoted with '*':<br></p>
<pre> 0 1 2 3 4 5 6 7
0 . . . . . . . .
1 . . . . . . . .
2 . . . * . . . .
3 . . * w b . . .
4 . . . b w * . .
5 . . . . * . . .
6 . . . . . . . .
7 . . . . . . . .
</pre>
<p style="margin: 0px 0px 10px; orphans: 2; text-align: left; text-indent: 0px; widows: 2; background-color: rgb(255, 255, 255);">Suppose BLACK makes the move (2,3). Then the board is updated with BLACK capturing the white pieces between the line made</p>
<pre> 0 1 2 3 4 5 6 7
0 . . . . . . . .
1 . . . . . . . .
2 . . . b . . . .
3 . . . b b . . .
4 . . . b w . . .
5 . . . . . . . .
6 . . . . . . . .
7 . . . . . . . .
</pre>
<p style="margin: 0px 0px 10px; orphans: 2; text-align: left; text-indent: 0px; widows: 2; background-color: rgb(255, 255, 255);">Now it is WHITE turn, and they are allowed to make the following moves</p>
<pre> 0 1 2 3 4 5 6 7
0 . . . . . . . .
1 . . . . . . . .
2 . . * b * . . .
3 . . . b b . . .
4 . . * b w . . .
5 . . . . . . . .
6 . . . . . . . .
7 . . . . . . . .
</pre>
<p style="margin: 0px 0px 10px; orphans: 2; text-align: left; text-indent: 0px; widows: 2; background-color: rgb(255, 255, 255);">If WHITE makes the move (4,2), then the board will look like</p>
<pre> 0 1 2 3 4 5 6 7
0 . . . . . . . .
1 . . . . . . . .
2 . . . b . . . .
3 . . . b b . . .
4 . . w b w . . .
5 . . . . . . . .
6 . . . . . . . .
7 . . . . . . . . <span style="font-size: 14px; white-space: normal;">
</span></pre>
<p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;"><br></p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;">The score for each player is the number of pieces that they own on the board. I suggest that you play a few games to get a better sense of the rules: <a href="https://www.coolmathgames.com/0-reversi">https://www.coolmathgames.com/0-reversi</a></p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;"><br></p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;"></p><h4><b>Tasks to do</b></h4><p><b></b></p><h3><b><b>Task 1</b></b></h3><p></p><p></p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;">Your task will be to design a <b>Reversi </b>class, and use the class to play games. The class will store the state of the game, and have methods to allow the players to interact with the game. We require the following methods to be implemented:</p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;"> - <span class="" style="font-family: "Courier New", Courier, mono; color: rgb(0, 134, 131);">newGame()</span>: Create the game state so players can play again</p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;"> - <span class="" style="font-family: "Courier New", Courier, mono; color: rgb(0, 134, 131);">getScore(colour)</span>: return the current score for the player with colour '<span class="" style="color: rgb(0, 134, 131); font-family: "Courier New", Courier, mono;">colour</span>'</p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;"> - <span class="" style="font-family: "Courier New", Courier, mono; color: rgb(0, 134, 131);">setPlayerColour(colour)</span>: set the colour for the human player to the designated colour '<span class="" style="color: rgb(0, 134, 131); font-family: "Courier New", Courier, mono;">colour</span>', as well as the computer will have the other colour</p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;"> - <span class="" style="font-family: "Courier New", Courier, mono; color: rgb(0, 134, 131);">displayBoard()</span>: print a visual representation of the board at the current state. The row and column index should be printed on the left and top side to make it easier to check moves. See the above output as an example.</p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;"> - <span class="" style="color: rgb(0, 134, 131); font-family: "Courier New", Courier, mono;">isPositionValid(position, colour)</span>: Check if the input position '<span class="" style="color: rgb(0, 134, 131); font-family: "Courier New", Courier, mono;">position</span>' is valid for the given player '<span class="" style="font-family: "Courier New", Courier, mono; color: rgb(0, 134, 131);">colour</span>' to make. A position is defined as valid using the rules above.</p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;"> - <span class="" style="font-family: "Courier New", Courier, mono; color: rgb(0, 134, 131);">isGameOver()</span>: return true if the game is over, false otherwise. The game is over when the current player cannot make any more legal moves.</p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;"> - <span class="" style="font-family: "Courier New", Courier, mono; color: rgb(0, 134, 131);">makeMovePlayer(position)</span>: Make the move given by '<span class="" style="color: rgb(0, 134, 131); font-family: "Courier New", Courier, mono;">position</span>' for the human player. This function should also handle the capturing of pieces </p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;"> - <span class="" style="color: rgb(0, 134, 131); font-family: "Courier New", Courier, mono;">makeMoveNaive()</span>: This function should make a naive (no strategy involved) move for the computer. This can be the first valid move when scanning the board left to right, starting at the top</p><p style="margin-right: 0px; margin-bottom: 10px; margin-left: 0px;"> - <span class="" style="font-family: "Courier New", Courier, mono; color: rgb(0, 134, 131);">makeMoveSmart()</span>: This function should make a smart (strategy involved) move for the computer. This is where you can try and make your game computer as smart as possible! A good starting place can be to make the move which maximizes the computer's score.</p><p><br></p><p>Do not forget to test your class in isolation before you write the code of the game itself. Test your class.<br></p><p style="margin: 0px 0px 10px; orphans: 2; text-align: left; text-indent: 0px; widows: 2; background-color: rgb(255, 255, 255);">The number of required methods may seem like a lot, but many of these methods are quite small, and are designed so that interacting with the class is easier. A skeleton template class has been provided with comments as to what is expected for each method, as well as a text file of sample output and input.<br></p><p style="margin: 0px 0px 10px; orphans: 2; text-align: left; text-indent: 0px; widows: 2; background-color: rgb(255, 255, 255);"></p><h3><b>Task 2</b></h3><p>In addition, you will be required to create a <span class="" style="font-family: "Courier New", Courier, mono; color: rgb(0, 134, 131);">main()</span> function in a file main.py that will create a Reversi object, and play games. You should get and process the users input, determine if the move is valid, make the move, and display the updated board and score. Don't forget to validate any input from the user.</p><p><span style="color: rgb(85, 89, 92); font-family: sans-serif, "Open Sans", Arial;">Also, the game should ask whether you as the user would like to play as white or black. At the end of the game, the user should be asked whether they would like to play again.</span><br></p><p></p><p><b style="font-family: "Din Pro", sans-serif; font-size: 16px;">Optional Tasks to do (not marked)</b><br></p><p><u>Optional (1)</u>: Allow the user to input the size of the gameboard to allow different versions of the game to be played. The input should be an even integer 'n' between [4,20] inclusive, where the gameboard will be of size (n,n). The starting board position should keep the 2 starting white and black pieces in the center. </p>
<p><u>Optional (2)</u>: Allow the user to enter an 'h' option (for hint), which will display the gameboard but will highlight the valid moves the player can make denoted by '*'. As an example, the legal moves shown for black are as follows:</p>
<pre>Enter move: h
0 1 2 3 4 5 6 7
0 . . . . . . . .
1 . . . . . . . .
2 . . . * . . . .
3 . . * w b . . .
4 . . . b w * . .
5 . . . . * . . .
6 . . . . . . . .
7 . . . . . . . .
</pre>
<p><u>Optional (3)</u>: Allow the user to enter an 'a' option (for assist), which will display the gameboard but will highlight the valid moves with '*' and the moves with highest potential score the player can make in one round denoted by '#'. As an example, the moves and the highest legal moves shown for black are as follows:</p>
<pre>Enter move: a
0 1 2 3 4 5 6 7
0 . . . w . . . .
1 . . # w . . . .
2 . . w w . . . .
3 . . b w b * . .
4 . . . b b b . .
5 . . . . b w * .
6 . . . . . * . .
7 . . . . . . . .
</pre>
<p><u>Optional (4)</u>: Allow the user to enter a 'u' option to undo moves. If its currently the users turn, by pressing 'u', it should undo the computers move, as well as your previous move, with your turn to move. If only 1 move is undone, then control will be back to the computer and it will simply make its move again. As an added optional, you can ask the user how many moves they wish to undo.
</p><h2>Assignment Deliverables<br></h2><span style="font-size: 15px;"><br><ul><li>You are to submit the implemented <b>reversi.py</b> class, and <b>main.py</b> which creates instances of the Reversi class and handles the playing of games.<br></li></ul></span><h2 style="margin: 10px 0px; font-family: "Open Sans", Arial, sans-serif; font-weight: 200; line-height: 40px; color: rgb(0, 0, 0); text-rendering: optimizeLegibility; font-size: 1.5em; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);">Submission Instructions</h2><p style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Open Sans", Arial, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);">Please follow these instructions to correctly submit your solution.</p><ul style="padding: 0px; margin: 0px 0px 10px 25px; color: rgb(51, 51, 51); font-family: "Open Sans", Arial, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><li style="line-height: 20px;">Name your files us indicated above</li><li style="line-height: 20px;">Submit your program at the end of this page</li><li style="line-height: 20px;">Note that late submissions <em style="font-style: italic;"><strong style="font-weight: bold;">will not be accepted.</strong></em> You are able to submit your work as often as you like and only the last submission will be marked. So submit early and submit often.</li></ul><br><p></p><p><br></p></div><div id="assign_files_tree5c683a84ac16e3"><div class="ygtvitem" id="ygtv0"><div class="ygtvchildren" id="ygtvc0"><div class="ygtvitem" id="ygtv1"><table id="ygtvtableel1" border="0" cellpadding="0" cellspacing="0" class="ygtvtable ygtvdepth0 ygtv-expanded ygtv-highlight0"><tbody><tr class="ygtvrow"><td id="ygtvt1" class="ygtvcell ygtvtn"><a href="https://eclass.srv.ualberta.ca/mod/assign/view.php?id=3373642#" class="ygtvspacer"> </a></td><td id="ygtvcontentel1" class="ygtvcell ygtvhtml ygtvcontent"><div><img class="icon icon" alt="reversi.py" title="reversi.py" src="./AssignmentWebpage_files/text.png"> <a target="_blank" href="https://eclass.srv.ualberta.ca/pluginfile.php/4797291/mod_assign/introattachment/0/reversi.py?forcedownload=1">reversi.py</a> <a href="https://eclass.srv.ualberta.ca/portfolio/add.php?ca_cmid=3373642&ca_fileid=53932690&sesskey=pDNMLb14Jl&callbackcomponent=mod_assign&callbackclass=assign_portfolio_caller&course=49646&callerformats=text%2Cleap2a" id="action_link5c683a84ac16e1" class="action-icon"><i class="icon fa fa-plus fa-fw portfolio-add-icon smallicon" aria-hidden="true" title="Export to portfolio" aria-label="Export to portfolio"></i></a></div></td></tr></tbody></table><div class="ygtvchildren" id="ygtvc1" style="display:none;"></div></div><div class="ygtvitem" id="ygtv2"><table id="ygtvtableel2" border="0" cellpadding="0" cellspacing="0" class="ygtvtable ygtvdepth0 ygtv-expanded ygtv-highlight0"><tbody><tr class="ygtvrow"><td id="ygtvt2" class="ygtvcell ygtvln"><a href="https://eclass.srv.ualberta.ca/mod/assign/view.php?id=3373642#" class="ygtvspacer"> </a></td><td id="ygtvcontentel2" class="ygtvcell ygtvhtml ygtvcontent"><div><img class="icon icon" alt="sample_output.txt" title="sample_output.txt" src="./AssignmentWebpage_files/text.png"> <a target="_blank" href="https://eclass.srv.ualberta.ca/pluginfile.php/4797291/mod_assign/introattachment/0/sample_output.txt?forcedownload=1">sample_output.txt</a> <a href="https://eclass.srv.ualberta.ca/portfolio/add.php?ca_cmid=3373642&ca_fileid=53932689&sesskey=pDNMLb14Jl&callbackcomponent=mod_assign&callbackclass=assign_portfolio_caller&course=49646&callerformats=text%2Cleap2a" id="action_link5c683a84ac16e2" class="action-icon"><i class="icon fa fa-plus fa-fw portfolio-add-icon smallicon" aria-hidden="true" title="Export to portfolio" aria-label="Export to portfolio"></i></a></div></td></tr></tbody></table><div class="ygtvchildren" id="ygtvc2" style="display:none;"></div></div></div></div></div></div><div class="submissionstatustable"><h3>Submission status</h3><div class="box boxaligncenter submissionsummarytable p-y-1"><table class="generaltable">
<tbody><tr class="">
<td class="cell c0" style="">Attempt number</td>
<td class="cell c1 lastcol" style="">This is attempt 1.</td>
</tr>
<tr class="">
<td class="cell c0" style="">Submission status</td>
<td class="cell c1 lastcol" style="">No attempt</td>
</tr>
<tr class="">
<td class="cell c0" style="">Grading status</td>
<td class="submissionnotgraded cell c1 lastcol" style="">Not graded</td>
</tr>
<tr class="">
<td class="cell c0" style="">Due date</td>
<td class="cell c1 lastcol" style="">Sunday, 3 March 2019, 11:55 PM</td>
</tr>
<tr class="">
<td class="cell c0" style="">Time remaining</td>
<td class="cell c1 lastcol" style="">15 days 14 hours</td>
</tr>
<tr class="">
<td class="cell c0" style="">Last modified</td>
<td class="cell c1 lastcol" style="">-</td>
</tr>
<tr class="lastrow">
<td class="cell c0" style="">Submission comments</td>
<td class="cell c1 lastcol" style=""><div class="box boxaligncenter plugincontentsummary summary_assignsubmission_comments_2298042 p-y-1"><div class="commentscontainer"><div style="display:none" id="cmt-tmpl"><div class="comment-message"><div class="comment-message-meta m-r-3"><span class="picture">___picture___</span><span class="user">___name___</span> - <span class="time">___time___</span></div><div class="text">___content___</div></div></div><div class="mdl-left"><a class="showcommentsnonjs" href="https://eclass.srv.ualberta.ca/mod/assign/view.php?id=3373642&rownum=0&useridlistid=5c683a84a729e646606057&action&nonjscomment=1&comment_itemid=2298042&comment_context=4797291&comment_component=assignsubmission_comments&comment_area=submission_comments">Show comments</a><a class="comment-link" id="comment-link-5c683a84c4216" href="https://eclass.srv.ualberta.ca/mod/assign/view.php?id=3373642#" role="button" aria-expanded="false"><i class="icon fa fa-plus-square fa-fw " aria-hidden="true" title="Comments" aria-label="Comments"></i><span id="comment-link-text-5c683a84c4216">Comments (0)</span></a><div id="comment-ctrl-5c683a84c4216" class="comment-ctrl"><ul id="comment-list-5c683a84c4216" class="comment-list"><li class="first"></li></ul><div id="comment-pagination-5c683a84c4216" class="comment-pagination"></div><div class="comment-area"><div class="db"><textarea name="content" rows="2" id="dlg-content-5c683a84c4216" aria-label="Add a comment..." cols="20" style="color: grey;"></textarea></div><div class="fd" id="comment-action-5c683a84c4216"><a id="comment-action-post-5c683a84c4216" href="https://eclass.srv.ualberta.ca/mod/assign/view.php?id=3373642#">Save comment</a><span> | </span><a id="comment-action-cancel-5c683a84c4216" href="https://eclass.srv.ualberta.ca/mod/assign/view.php?id=3373642#">Cancel</a></div></div><div class="clearer"></div></div></div></div></div></td>
</tr>
</tbody>
</table>
</div><div class="box generalbox submissionaction p-y-1"><div class="singlebutton">
<form method="get" action="https://eclass.srv.ualberta.ca/mod/assign/view.php">
<input type="hidden" name="id" value="3373642">
<input type="hidden" name="action" value="editsubmission">
<button type="submit" class="btn btn-secondary" id="single_button5c683a84ac16e16" title="">Add submission</button>
</form>
</div><div class="box boxaligncenter submithelp p-y-1">Make changes to your submission</div></div></div></div>
</div>
</section>
</div>
</div>
</div>
<div id="nav-drawer" data-region="drawer" class="hidden-print moodle-has-zindex closed" aria-hidden="true" tabindex="-1">
<nav class="list-group">
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=49646" data-key="coursehome" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="60" data-nodetype="0" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0">
<div class="m-l-0">
CMPUT 175 (Winter 2019 LAB LEC)
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/user/index.php?id=49646" data-key="participants" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="90" data-nodetype="1" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="49646">
<div class="m-l-0">
Participants
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/badges/view.php?type=2&id=49646" data-key="badgesview" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="70" data-nodetype="0" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="49646">
<div class="m-l-0">
Badges
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/grade/report/index.php?id=49646" data-key="grades" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="70" data-nodetype="0" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="49646">
<div class="m-l-0">
Grades
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=49646#section-0" data-key="663081" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="30" data-nodetype="1" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="49646">
<div class="m-l-0">
<div class="media">
<span class="media-left">
<i class="icon fa fa-folder fa-fw " aria-hidden="true" aria-label=""></i>
</span>
<span class="media-body">General</span>
</div>
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=49646#section-1" data-key="663082" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="30" data-nodetype="1" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="49646">
<div class="m-l-0">
<div class="media">
<span class="media-left">
<i class="icon fa fa-folder fa-fw " aria-hidden="true" aria-label=""></i>
</span>
<span class="media-body">Week 1 (Jan 7-11)- Introduction and back to programming (Chapter 1) </span>
</div>
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=49646#section-2" data-key="663083" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="30" data-nodetype="1" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="49646">
<div class="m-l-0">
<div class="media">
<span class="media-left">
<i class="icon fa fa-folder fa-fw " aria-hidden="true" aria-label=""></i>
</span>
<span class="media-body">Week 2 (Jan 14 - 18) - Hands-on Python with fun simple programs</span>
</div>
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=49646#section-3" data-key="663084" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="30" data-nodetype="1" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="49646">
<div class="m-l-0">
<div class="media">
<span class="media-left">
<i class="icon fa fa-folder fa-fw " aria-hidden="true" aria-label=""></i>
</span>
<span class="media-body">Week 3 (Jan 21 - 25) - Algorithm Analysis</span>
</div>
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=49646#section-4" data-key="663085" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="30" data-nodetype="1" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="49646">
<div class="m-l-0">
<div class="media">
<span class="media-left">
<i class="icon fa fa-folder fa-fw " aria-hidden="true" aria-label=""></i>
</span>
<span class="media-body">Week 4 (Jan 28 - Feb 1) - Data Structures and Classes</span>
</div>
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=49646#section-5" data-key="663086" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="30" data-nodetype="1" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="49646">
<div class="m-l-0">
<div class="media">
<span class="media-left">
<i class="icon fa fa-folder fa-fw " aria-hidden="true" aria-label=""></i>
</span>
<span class="media-body">Week 5 (Feb 4 - 8) - Exception Handling</span>
</div>
</div>
</a>
<a class="list-group-item list-group-item-action font-weight-bold" href="https://eclass.srv.ualberta.ca/course/view.php?id=49646#section-6" data-key="663087" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="30" data-nodetype="1" data-collapse="0" data-forceopen="1" data-isactive="1" data-hidden="0" data-preceedwithhr="0" data-parent-key="49646">
<div class="m-l-0">
<div class="media">
<span class="media-left">
<i class="icon fa fa-folder fa-fw " aria-hidden="true" aria-label=""></i>
</span>
<span class="media-body">Week 6 (Feb 11 - 15) - Queues</span>
</div>
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=49646#section-14" data-key="663095" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="30" data-nodetype="1" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="49646">
<div class="m-l-0">
<div class="media">
<span class="media-left">
<i class="icon fa fa-folder fa-fw " aria-hidden="true" aria-label=""></i>
</span>
<span class="media-body">Week 14 (April 3 - 7)</span>
</div>
</div>
</a>
</nav>
<nav class="list-group m-t-1">
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/my/" data-key="myhome" data-isexpandable="0" data-indent="0" data-showdivider="1" data-type="1" data-nodetype="1" data-collapse="0" data-forceopen="1" data-isactive="0" data-hidden="0" data-preceedwithhr="0">
<div class="m-l-0">
Dashboard
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/?redirect=0" data-key="home" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="70" data-nodetype="0" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="myhome">
<div class="m-l-0">
Site home
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/calendar/view.php?view=month&course=49646" data-key="calendar" data-isexpandable="0" data-indent="0" data-showdivider="0" data-type="60" data-nodetype="0" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="1">
<div class="m-l-0">
Calendar
</div>
</a>
<div class="list-group-item" data-key="mycourses" data-isexpandable="1" data-indent="0" data-showdivider="0" data-type="0" data-nodetype="1" data-collapse="0" data-forceopen="1" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="myhome">
<div class="m-l-0">
My courses
</div>
</div>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=48642" data-key="48642" data-isexpandable="1" data-indent="1" data-showdivider="0" data-type="20" data-nodetype="1" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="mycourses">
<div class="m-l-1">
ENGL 102 (LEC B03 Wi19)
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=50582" data-key="50582" data-isexpandable="1" data-indent="1" data-showdivider="0" data-type="20" data-nodetype="1" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="mycourses">
<div class="m-l-1">
MATH 125 (LEC R1 Wi19)
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=50076" data-key="50076" data-isexpandable="1" data-indent="1" data-showdivider="0" data-type="20" data-nodetype="1" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="mycourses">
<div class="m-l-1">
ASTRO 101 (LEC 800 Wi19)
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=49646" data-key="49646" data-isexpandable="1" data-indent="1" data-showdivider="0" data-type="20" data-nodetype="1" data-collapse="0" data-forceopen="1" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="mycourses">
<div class="m-l-1">
CMPUT 175 (Winter 2019 LAB LEC)
</div>
</a>
<a class="list-group-item list-group-item-action " href="https://eclass.srv.ualberta.ca/course/view.php?id=48869" data-key="48869" data-isexpandable="1" data-indent="1" data-showdivider="0" data-type="20" data-nodetype="1" data-collapse="0" data-forceopen="0" data-isactive="0" data-hidden="0" data-preceedwithhr="0" data-parent-key="mycourses">
<div class="m-l-1">
CMPUT 272 (Winter 2019 LEC B1 B2 EB1 EB2)
</div>
</a>
</nav>
</div>
</div><div id="yui3-css-stamp" style="position: absolute !important; visibility: hidden !important" class=""></div>
<footer id="page-footer" class="p-y-1 bg-inverse">
<div class="container">
<div id="course-footer"></div>
<div class="logininfo">You are logged in as <a href="https://eclass.srv.ualberta.ca/user/profile.php?id=376477" title="View profile">Paul Saunders</a> (<a href="https://eclass.srv.ualberta.ca/login/logout.php?sesskey=pDNMLb14Jl">Log out</a>)</div>
<div class="tool_usertours-resettourcontainer"></div>
<div class="homelink"><a href="https://eclass.srv.ualberta.ca/course/view.php?id=49646">CMPUT 175 (Winter 2019 LAB LEC)</a></div>
<nav class="nav navbar-nav hidden-lg-up">
<ul class="list-unstyled p-t-1">
<li><a href="https://support.ctl.ualberta.ca/" target="_blank" title="Help">Help</a></li>
<li><a href="https://mail.google.com/a/ualberta.ca" target="_blank" "="" title="Email">Email</a></li>
</ul>
</nav>
<a href="https://download.moodle.org/mobile?version=2017111306&lang=en&iosappid=1448248368&androidappid=com.moodle.eclass">Get the mobile app</a>
<script type="text/javascript">
//<![CDATA[
var require = {
baseUrl : 'https://eclass.srv.ualberta.ca/lib/requirejs.php/1550179047/',
// We only support AMD modules with an explicit define() statement.
enforceDefine: true,
skipDataMain: true,
waitSeconds : 0,
paths: {
jquery: 'https://eclass.srv.ualberta.ca/lib/javascript.php/1550179047/lib/jquery/jquery-3.2.1.min',
jqueryui: 'https://eclass.srv.ualberta.ca/lib/javascript.php/1550179047/lib/jquery/ui-1.12.1/jquery-ui.min',
jqueryprivate: 'https://eclass.srv.ualberta.ca/lib/javascript.php/1550179047/lib/requirejs/jquery-private'
},
// Custom jquery config map.
map: {
// '*' means all modules will get 'jqueryprivate'
// for their 'jquery' dependency.
'*': { jquery: 'jqueryprivate' },
// Stub module for 'process'. This is a workaround for a bug in MathJax (see MDL-60458).
'*': { process: 'core/first' },
// 'jquery-private' wants the real jQuery module
// though. If this line was not here, there would
// be an unresolvable cyclic dependency.
jqueryprivate: { jquery: 'jquery' }
}
};
//]]>
</script>
<script type="text/javascript" src="./AssignmentWebpage_files/javascript(4).php"></script>
<script type="text/javascript">
//<![CDATA[
require(['core/first'], function() {
;
require(["media_videojs/loader"], function(loader) {
loader.setUp(function(videojs) {
videojs.options.flash.swf = "https://eclass.srv.ualberta.ca/media/player/videojs/videojs/video-js.swf";
videojs.addLanguage("en",{
"Audio Player": "Audio Player",
"Video Player": "Video Player",
"Play": "Play",
"Pause": "Pause",
"Replay": "Replay",
"Current Time": "Current Time",
"Duration Time": "Duration Time",
"Remaining Time": "Remaining Time",
"Stream Type": "Stream Type",
"LIVE": "LIVE",
"Loaded": "Loaded",
"Progress": "Progress",
"Progress Bar": "Progress Bar",
"progress bar timing: currentTime={1} duration={2}": "{1} of {2}",
"Fullscreen": "Fullscreen",
"Non-Fullscreen": "Non-Fullscreen",
"Mute": "Mute",
"Unmute": "Unmute",
"Playback Rate": "Playback Rate",
"Subtitles": "Subtitles",
"subtitles off": "subtitles off",
"Captions": "Captions",
"captions off": "captions off",
"Chapters": "Chapters",
"Descriptions": "Descriptions",
"descriptions off": "descriptions off",
"Audio Track": "Audio Track",
"Volume Level": "Volume Level",
"You aborted the media playback": "You aborted the media playback",
"A network error caused the media download to fail part-way.": "A network error caused the media download to fail part-way.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "The media could not be loaded, either because the server or network failed or because the format is not supported.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "The media playback was aborted due to a corruption problem or because the media used features your browser did not support.",
"No compatible source was found for this media.": "No compatible source was found for this media.",
"The media is encrypted and we do not have the keys to decrypt it.": "The media is encrypted and we do not have the keys to decrypt it.",
"Play Video": "Play Video",
"Close": "Close",
"Close Modal Dialog": "Close Modal Dialog",
"Modal Window": "Modal Window",
"This is a modal window": "This is a modal window",
"This modal can be closed by pressing the Escape key or activating the close button.": "This modal can be closed by pressing the Escape key or activating the close button.",
", opens captions settings dialog": ", opens captions settings dialog",
", opens subtitles settings dialog": ", opens subtitles settings dialog",
", opens descriptions settings dialog": ", opens descriptions settings dialog",
", selected": ", selected",
"captions settings": "captions settings",
"subtitles settings": "subititles settings",
"descriptions settings": "descriptions settings",
"Text": "Text",
"White": "White",
"Black": "Black",
"Red": "Red",
"Green": "Green",
"Blue": "Blue",
"Yellow": "Yellow",
"Magenta": "Magenta",
"Cyan": "Cyan",
"Background": "Background",
"Window": "Window",
"Transparent": "Transparent",
"Semi-Transparent": "Semi-Transparent",
"Opaque": "Opaque",
"Font Size": "Font Size",
"Text Edge Style": "Text Edge Style",
"None": "None",
"Raised": "Raised",
"Depressed": "Depressed",
"Uniform": "Uniform",
"Dropshadow": "Dropshadow",
"Font Family": "Font Family",
"Proportional Sans-Serif": "Proportional Sans-Serif",
"Monospace Sans-Serif": "Monospace Sans-Serif",
"Proportional Serif": "Proportional Serif",
"Monospace Serif": "Monospace Serif",
"Casual": "Casual",
"Script": "Script",
"Small Caps": "Small Caps",
"Reset": "Reset",
"restore all settings to the default values": "restore all settings to the default values",
"Done": "Done",
"Caption Settings Dialog": "Caption Settings Dialog",
"Beginning of dialog window. Escape will cancel and close the window.": "Beginning of dialog window. Escape will cancel and close the window.",
"End of dialog window.": "End of dialog window."
});
});
});;
require(['jquery', 'message_popup/message_popover_controller'], function($, controller) {
var container = $('#nav-message-popover-container');
var controller = new controller(container);
controller.registerEventListeners();
controller.registerListNavigationEventListeners();
});
;
require(['jquery', 'message_popup/notification_popover_controller'], function($, controller) {
var container = $('#nav-notification-popover-container');
var controller = new controller(container);
controller.registerEventListeners();
controller.registerListNavigationEventListeners();
});
;
require(['theme_boost/loader']);
require(['theme_boost/drawer'], function(mod) {
mod.init();
});
;
require(["core/notification"], function(amd) { amd.init(4797291, []); });;
require(["core/log"], function(amd) { amd.setConfig({"level":"warn"}); });
});
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
M.yui.add_module({"core_comment":{"name":"core_comment","fullpath":"https:\/\/eclass.srv.ualberta.ca\/lib\/javascript.php\/1550179047\/comment\/comment.js","requires":["base","io-base","node","json","yui2-animation","overlay","escape"]}});
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
M.str = {"moodle":{"lastmodified":"Last modified","name":"Name","error":"Error","info":"Information","yes":"Yes","no":"No","ok":"OK","cancel":"Cancel","addcomment":"Add a comment...","comments":"Comments","commentscount":"Comments ({$a})","commentsrequirelogin":"You need to log in to view the comments.","deletecommentbyon":"Delete comment posted by {$a->user} on {$a->time}","confirm":"Confirm","areyousure":"Are you sure?","closebuttontitle":"Close","unknownerror":"Unknown error"},"repository":{"type":"Type","size":"Size","invalidjson":"Invalid JSON string","nofilesattached":"No files attached","filepicker":"File picker","logout":"Logout","nofilesavailable":"No files available","norepositoriesavailable":"Sorry, none of your current repositories can return files in the required format.","fileexistsdialogheader":"File exists","fileexistsdialog_editor":"A file with that name has already been attached to the text you are editing.","fileexistsdialog_filemanager":"A file with that name has already been attached","renameto":"Rename to \"{$a}\"","referencesexist":"There are {$a} alias\/shortcut files that use this file as their source","select":"Select"},"admin":{"confirmdeletecomments":"You are about to delete comments, are you sure?","confirmation":"Confirmation"}};
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
(function() {Y.use("moodle-filter_glossary-autolinker",function() {M.filter_glossary.init_filter_autolinking({"courseid":0});
});
Y.use("moodle-filter_mathjaxloader-loader",function() {M.filter_mathjaxloader.configure({"mathjaxconfig":"\nMathJax.Hub.Config({\n config: [\"Accessible.js\", \"Safe.js\"],\n errorSettings: { message: [\"!\"] },\n skipStartupTypeset: true,\n messageStyle: \"none\"\n});\n","lang":"en"});
});
M.util.js_pending('random5c683a84ac16e4'); Y.use('mod_assign', function(Y) { M.mod_assign.init_tree(Y, true, "assign_files_tree5c683a84ac16e3"); M.util.js_complete('random5c683a84ac16e4'); });
M.util.help_popups.setup(Y);
M.util.js_pending('random5c683a84ac16e15'); Y.on('domready', function() { M.util.js_pending('random5c683a84ac16e15'); Y.use('core_comment', function(Y) { M.core_comment.init(Y, {"client_id":"5c683a84c4216","commentarea":"submission_comments","itemid":"2298042","page":0,"courseid":"49646","contextid":4797291,"component":"assignsubmission_comments","notoggle":false,"autostart":false}); M.util.js_complete('random5c683a84ac16e15'); }); M.util.js_complete('random5c683a84ac16e15'); });
M.util.js_pending('random5c683a84ac16e17'); Y.on('domready', function() { M.util.js_complete("init"); M.util.js_complete('random5c683a84ac16e17'); });
})();
//]]>
</script>
</div>
</footer>
<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"83cd08cbce","applicationID":"19673765","transactionName":"NVdQNxFTW0QFVRUIVwwdZxEKHVhYABkAEksLVVxMFVtQQEpGCRE=","queueTime":0,"applicationTime":158,"atts":"GRBTQVlJSEo=","errorBeacon":"bam.nr-data.net","agent":""}</script>
</body><span class="gr__tooltip"><span class="gr__tooltip-content"></span><i class="gr__tooltip-logo"></i><span class="gr__triangle"></span></span></html>