diff --git a/deployscripts/compiled.js b/deployscripts/compiled.js
index a11bf673a969bbb8642e9e184d70d31aa58ab340..ddd064b0269b83b2a31467bb950b421d5745fb31 100755
--- a/deployscripts/compiled.js
+++ b/deployscripts/compiled.js
@@ -216,7 +216,7 @@ function Gj(){this.bt=null;Hj=this;var a=Bf(Gf(wf(new jf(1920,1080,(Of(),gd().Il
 B(C(),"div");w();var c=E(B(C(),"h3"),y(w(),new n(["Current structure - 12 unit core; 36cp at 300-level; small majors (30cp); fits double major + 2 electives"]))),e=Ij();w();zc();a:{for(var f=Jb().Ue.h();f.m();){var g=f.k();if("BCOMP single major generic"===g.Lb){f=new M(g);break a}}f=K()}f.d()?f=K():(f=f.W().Gd,f=new M(new Lb(f)));a=Af(a,E(b,y(0,new n([c,E(e,y(0,new n([Gc(0,f)])))]))));b=B(C(),"div");w();c=E(B(C(),"h3"),y(w(),new n(["Software Development"])));e=Ij();w();zc();a:{for(f=Jb().Ue.h();f.m();)if(g=
 f.k(),"BCOMP(SD)"===g.Lb){f=new M(g);break a}f=K()}f.d()?f=K():(f=f.W().Gd,f=new M(new Lb(f)));a=Af(a,E(b,y(0,new n([c,E(e,y(0,new n([Gc(0,f)])))]))));b=B(C(),"div");w();c=E(B(C(),"h3"),y(w(),new n(["Data Science"])));e=Ij();w();zc();a:{for(f=Jb().Ue.h();f.m();)if(g=f.k(),"BCOMP(DS)"===g.Lb){f=new M(g);break a}f=K()}f.d()?f=K():(f=f.W().Gd,f=new M(new Lb(f)));a=Bf(Af(a,E(b,y(0,new n([c,E(e,y(0,new n([Gc(0,f)])))])))),tb('\n  |## Past executive requests\n  |\n  |* Bachelor of IT. (DIT/BIT/BComp triple).  \n  |  \n  |  - Added DIT from 2020, but delayed BIT proposal to limit impact on BComp enrolment from transfers.  \n  |  (BComp + DIT is up, but BComp flat/down as some students now enrol in DIT first)\n  |\n  |* Undergraduate Certificate in Computing. Added from 2022.\n  |\n  |* Half-and-half degrees, e.g. BBus (Analytics and Informatics), agriculture\n  |\n  |  - *limited impact as there are many "Technology and X" companies, but when looking for tech roles, they hire for tech skills not jack-of-all-trades. Pre-req pathways can be problematic*.\n  |\n  |* Short courses\n  |\n  |* International schemes (IEG Malaysia, China)\n  |\n  |* Cybersecurity, IoT, short courses\n  |\n  |* More programming languages (Dean, 2020). Other tech requests in Student Experience Survey.\n  |\n  |---\n  |\n  |## Currently active executive requests\n  |\n  |* Cybersecurity\n  |\n  |* Double degrees, CDF 4 year structure - note the issue with the size of our core major\n  |\n  |(plus some others, and the previous ones will cycle back around in time)\n  |\n  |---\n  |\n  |## Student Experience Survey\n  |\n  |QILT data, loaded onto UNE BI dashboard, only accessible to course coordinator (sorry!)\n  |\n  |Contains some prose responses. Selected responses on next few slides.\n  |\n  |---\n  |\n  |### Best aspects - technical depth \x26 variety\n  |\n  |\x3e \u201cThe course is very technical and by the end of the semester when I look back I appreciate a significant increase in my technical proficiency. The most important aspect is that the degree is entirely online and allows me to learn by distance. It\'s clear that UNE take their responsibility to provide good distance learning infrastructure seriously\n  |\n  |\x3e "The variety and range of topics and skills taught across the degree."\n  |\n  |\x3e "The assignments for most units have been extremely useful for learning the skills needed to work in a software development environment."\n  |\n  |---\n  |\n  |### Best aspeccts - Welcoming and approachable environment \n  |\n  |\x3e \u201cFinally being able to learn what I\'ve always wanted to do. Feeling very welcomed and very much enjoying the course.\u201d\n  |\n  |\x3e \u201cFriendly and approachable lecturers teaching the subjects providing an intuitive and hands on learning experience.\u201d\u200b\n  |\n  |\x3e \u201cI really feel they WANT me to learn, understand and pass.\u201d\u200b\n  |\n  |\x3e "I enjoyed cosc110 as the lecturer was great and responded quickly to all my emails."\n  |\n  |---\n  |\n  |### Best aspects - flexibility\n  |\n  |\x3e \u201cAble to submit work early to account for being away for a week.\u201d\n  |\n  |\x3e \u201cLearning a broad range of topics throughout the degree. Being placed in a group of students that have industry experience for the final group project (COSC320) has really helped me to build my confidence in real world IT work.\u201d\n  |\n  |\x3e \u201cLecturers have fantastic, units have been interesting, flexible study times to suit my schedule.\u201d\n  |\n  |\x3e \u201cWell spaced out for online learning.\u201d\n  |\n  |---\n  |\n  |### Best aspects - some back-handed compliments\n  |\n  |\x3e \u201cSome of the assignments have been good, but honestly, nothing really comes to mind.\u201d\n  |\n  |\x3e \u201c\u2026I did struggle at first. However, once I realised that rote learning played a big part in examinations, I\'ve found the degree was attainable\u2026\u201d\n  |\n  |---\n  |\n  |### Needs improvement - logistical / resourcing\n  |\n  |\x3e \u201cVideo quality, mainly sound for some lectures etc.\u201d\n  |\n  |\x3e \u201cAll the resources ... Seem to be all over the place, and different subjects are set up differently.\u201d\n  |\n  |\x3e "Lack of feedback on assignments. Feedback I have received so far has been a bit brief, more suggestions for improvement would be helpful.""\n  |\n  |\x3e \u201cTeachers 1 on 1 interaction.\u201d\n  |\n  |\x3e \u201cOnline testing not flexible.\u201d\u200b\n  |\n  |---\n  |\n  |### Needs improvement - keeping student dev environment cutting edge\n  |\n  |\x3e "Online exams."\n  |\n  |\x3e "Practice sessions Real world applications more industry tools to be implemented."\n  |\n  |\x3e \u201cI am fed up with turing, bash and other outdated/slow/clunky programs and methods. There are much better ways of doing things these days...\u201d\u200b\n  |\n  |---\n  |\n  |### Needs improbement - workload \x26 flexibility\n  |\n  |\x3e \u201cMaybe one less assignment towards the end of the period, the study load is tough in the end."\n  |\n  |\x3e "Less assignments/deadlines and more freedom in being able to explore the material self paced."\n  |\n  |\x3e "Less assignments/deadlines and more freedom in being able to explore the material self paced."\n  |\n  |\x3e "There are no trimester 3 classes beyond STAT100 and COSC110."\n  |\n  |\x3e "Better structure in units, very steep learning curve."\n  |\n  |\x3e "The order units are studied really matters. So this means your start date does too. In hindsight I wish I did the easier primer units first..."\n  |\n  |---\n  |\n  |### Needs improvement - breadth / variety / depth\n  |\n  |\x3e \u201cMore system administration subjects"\n  |\n  |\x3e "In some courses, lectures and teaching material seemed unimaginative and unnecessarily arduous. this sometimes appeared to be a result of some requirement that the uni use a certain textbook."\n  |\n  |\x3e "I would personally have preferred more information on the basic hardware involved."\n  |\n  |\x3e "First year assignments/classes can be slightly dull for people with experience in computer science \x26 programming"\n  |\n  |\x3e "The relevancy to real world applications and preparation for the industry."\u200b\n  |\n  |---\n  |\n  |## Course Design Framework\n  | \n  |Originally a project of Jonathan Powells, [doc](https://policies.une.edu.au/download.php?id\x3d512\x26version\x3d2\x26associated)\n  |\n  |In policy, "Relevant considerations include, but are not limited to" (CDF, etc). Not strictly enforced, but steady movement towards it.\n  |\n  |* "Majors will comprise 48cp"\n  |\n  |  - Single degree: "core major" 48cp + major 48cp + 48cp elective \x3d 144cp (3y)\n  |  - Double degrees: degree A "core major" 48cp + degree A major 48cp + degree B "core major" + degree B major \x3d 192cp (4y)\n  |\n  |* "Minors will comprise 24cp"\n  |\n  |* No units will be offered that are not part of majors or minors. There will be no \u201corphan\u201d or elective-only units. \n  |\n  |  - However, optional units within a major **are** allowed. "List no more than 72cp as available in any one major"\n  |   (i.e. choose 7 from 12)\n  |\n  |  - eventually, students take 2-4 "foundation" units, one of which is a "threshold unit" \n  |  \n  |  - and take "4-6" advanced units per major. Note CDF lacks a "200"-level...\n  |\n  |---\n  |\n  |### CDF vs AQF\n  |\n  |Some elements of CDF conflict with ACS. e.g.:\n  |\n  |\x3e "Undergraduate units will be at two levels: Foundation and Advanced. ... Advanced units correspond to AQF levels 6-7,\n  |current UNE \u201clevel 200\u201d and \u201clevel 300\u201d units. Currently, it is not required for students to complete a \n  |quantum of level 200 units before enrolling in level 300, so there is little justification for the existence\n  |of the two separate advanced levels."\n  |\n  |TEQSA \x26 policy requires 6 units at 300-level; CDF seems to try to push 200-level up to 300-level\n  |\n  |But ACS requires \n  |\n  |\x3e The ICT learning required to meet the professional roles identified for the program will progress\n  |through at least 3 levels\n  |\n  |* Requires 4+ "advanced units", no more than 2 of which can be the capstone\n  |\n  |* Defines an "advanced" unit as one that has a pre-req that itself has pre-reqs. \n  |\n  |---\n  |\n  |### Comparison elsewhere\n  |\n  |* ALTA survey 2020, Though our core is large to UNE, it\'s fairly small for a CBoK core in Australia.\n  |\n  |* UQ\'s new (2021) course design for BCompSc and BInfTech is interesting for meeting CDF requirements on core + major size:\n  |\n  |  - 8 subjects in the core\n  |\n  |  - capstone is in the majors **even though it\'s the same capstone!**\n  |\n  |  - (effectively giving a 9 subject core and 7 subject majors while meeting CDF-like requirements)\n  |\n  |\x3e For students undertaking the BCompSc Major in Cyber Security - DECO3801 must be substituted in the BCompSc Major in Data Science, BCompSc Major in Machine Learning, or BCompSc Major in Scientific Computing by a course from BCompSc Program Elective Courses.\n  |\n  |* https://my.uq.edu.au/programs-courses/requirements/program/2451/2023  BCompSc \n  |* https://my.uq.edu.au/programs-courses/requirements/program/2453/2023  BInfTech \n  |\n  |---\n  |\n  |### CDF other aspects\n  |\n  |* "Limit prerequisites ... to cases in which completion of the prerequisite is essential for completion of the later unit"\n  |  (i.e. prefer advisory statements of assumed knowledge)\n  |\n  |* "Schedule at least one Foundation and one Advanced unit every trimester"\n  |\n  |* Proposes 3cp "half units" for micro-credentials. Perpetually delayed by T3 calendar decision.\n  |\n  |* Accelerated progression from Bachelor to Masters\n  |\n  |* Specialist vs breadth minors\n  |\n  |* "Nested" structure. i.e. exit pathways via UCCOMP, DIT and Adv Dip (currently Adv Dip Sc)\n  |\n  |---\n  |\n  |### Course Reviews\n  |\n  |Part of TEQSA governance process. External reviews. CS cognate courses reviewed in Q3 2021.\n  |\n  |1. EQD provides us with a "rubric" including QILT data (June 2021)\n  |\n  |2. We first proposed our response (August 2021)\n  |\n  |3. That goes out to external review \x26 he reviewer provides their report (November 2021)\n  |\n  |In 2020, CDF had caused a problemts for mathematics when Environmental \x26 Rural Science dropped 100-level mathematics units because of CDF.\n  |\n  |CDF progress was a specific question in the course review rubric, so we put a light description of a proposal out to the reviewer.\n  |\n  |---\n  |\n  |### Aside: Some informal observations from the course coordinator...\n  |\n  |* There is an open ended set of potential majors and minors we might want to introduce. Cybersecurity, AI, Ops, Information Systems, ... \n  |\n  |* We do need 3 levels of units for ACS. \n  |\n  |* Core needs to cover CBoK. CDF asks our "core major" to be reduced to 48cp (from current 72cp). \n  |  Likely to put the squeeze on units in core that aren\'t hitting CBoK categories. UQ BCompSc does not include calculus in core.\n  |\n  |* Inevitable tension between CS students who are "industry-inclined" vs "theoretically-inclined" with regards to mathematics\n  |  https://dl.acm.org/doi/pdf/10.1145/3287324.3287416 \n  |\n  |* Should we support this distinction and more "industry-inclined" majors such as Information Systems within the BComp or do we need a BIT? \n  |  (Personal worry about splitting load. UQ\'s BCompSc 2021+ does not include calculus in core.)  \n  |\n  |* A 48cp core + 48cp major + 48cp second major would leave no space for any non-ICT electives (down from 12cp), making it a barrier for students with any non-ICT advanced standing\n  |\n  |* But, the "no double counting" rule does not actually appear to be anywhere in policy now. (Might just be a Callista limitation.)\n  |\n  |* I don\'t like that we say that students have a choice between MTHS130 and STAT100 in core, but the pre-reqs force all the Data Science students to choose STAT100. (Putting STAT100 in the major would be clearer.)\n  |\n  |---\n  |\n  |### Rough idea \n  |\n  |- Move some units from core into majors, keeping core focused on CBoK so we can have majors in any area\n  |\n  |- Majors can be bigger. At "72cp" of choice, we even have room to add units. Computer vision? Ops? Embedded? etc\n  |\n  |- Explicitly allow double counting of units in both majors, to free up elective space for dual majors. \n  |\n  |- Add a computational mathematics minor / major, to make sure maths is still visible to our students\n  |\n  |  - Amir Karton keen to teach an HPC unit\n  |\n  |---\n  |\n  |### Bugs we might not have capacity to fix\n  |\n  |- COSC101 and COSC102 are only offered once. (Retain in core, to avoid having to repeat both. Fudge the major size slightly? Or allow choice of each inside major?)\n  |\n  |- We have no "Data Science Studio 2". Though we could re-name Software Development Studio 2. git, containers, build tools, cloud, etc, apply to more than just software dev.\n  |\n  |- AMTH140 is only offered once. \n  |\n  |- We have 4 academics who do AI/ML work on computer vision and only two AI units.\n  |\n  |\n  |'));
 b=B(C(),"div");w();c=E(B(C(),"h3"),y(w(),new n(["Possible 60cp core / 48 cp major + minors; overlap majors and allow double-counting to enable double major"])));e=Ij();w();zc();a:{for(f=Jb().Ue.h();f.m();)if(g=f.k(),"BCOMP(CDF60cp)"===g.Lb){f=new M(g);break a}f=K()}f.d()?f=K():(f=f.W().Gd,f=new M(new Lb(f)));a=Bf(Af(a,E(b,y(0,new n([c,E(e,y(0,new n([Gc(0,f)])))])))),tb("\n  |## Niggles getting to 48cp core\n  |\n  |Moving other units into majors creates some hiccups:\n  |\n  |* Moving COSC101, COSC102 into majors slows progression\n  |* Moving COSC120 breaks OO prereq for COSC230, COSC220\n  |* Moving COSC220 would require is inclusion or duplication in the other majors \n  |  (it hits a lot of CBoK categories \x26 a lot of material, e.g. git, build tools, docker containers, debugging \x26 profiling, service management, security of dependencies, is hard to avoid)\n  |\n  |Possible hack: Use UQ's trick and put it in all majors (but renamed)\n  |\n  |"));
-b=B(C(),"div");w();c=E(B(C(),"h3"),y(w(),new n(["48cp core by putting studio into the majors"])));e=Ij();w();zc();a:{for(f=Jb().Ue.h();f.m();)if(g=f.k(),"BCOMP(CDFstrict)"===g.Lb){f=new M(g);break a}f=K()}f.d()?f=K():(f=f.W().Gd,f=new M(new Lb(f)));this.bt=Hf(Gf(wf(Bf(Af(a,E(b,y(0,new n([c,E(e,y(0,new n([Gc(0,f)])))])))),tb('\n  |\n  |### Commendations\n  |\n  |1. Emphasis on personalisations through mutliple entry/exit pathways\n  |\n  |2. Extent of curriculum mapping\n  |\n  |3. Success with external accreditation\n  |\n  |4. Industry Advisory Board "offers an exemplary template for other areas to engage with industry and provide job-ready graduates."\n  |\n  |5. Student-centred approach to curriculum review (in our submission)\n  |\n  |6. Student experience in S\x26T is largely and consistently positive on measures from the (QILT) Student Experience Survey\n  |\n  |---\n  |\n  |### Affirmations \n  |\n  |* Re-map the course against CBoK. Fully supported. Done in ACS submission.\n  |\n  |* Investigate expanding the size of majors, and introduce a rule permitting students to count units that are common to the Data Science and Software\n  |Development majors towards both majors. Considered beyond the reviewer\'s scope.\n  |\n  |* Consider moving mathematics units that are required for majors into those majors. (partial)\n  |\n  |* Consider the possibility of potential new majors (e.g. information systems or cybersecurity) in the re-mapping of the core units and the mathematics requirement.\n  |\n  |* Consider introducing a computational mathematics minor\n  |\n  |* Remove the long-list of out-of-discipline \u201clisted units\u201d from the majors.\n  |\n  |* Consider bringing some material forward to first year based on students being better prepared.\n  |\n  |---\n  |\n  |### Recommendations - for us\n  |\n  |* #3 risk-benefit analysis, to contrast the requirements of CDF and ACS\n  |\n  |* #4 establish internal Course Advisory Board, distinct from IAB (from Jan 2023)\n  |\n  |* #5 analyse where specific units (e.g. mathematics) cause attrition or progression issues annually (at CAB)\n  |\n  |* #6 a recommendation that *other* courses should adopt "emergent and successful interventions noted in the BCOMP and MIT" re employability\n  |\n  |')),
+b=B(C(),"div");w();c=E(B(C(),"h3"),y(w(),new n(["48cp core by putting studio into the majors; require 2+ ACS-advanced from major; require remainder of 300-level from elective"])));e=Ij();w();zc();a:{for(f=Jb().Ue.h();f.m();)if(g=f.k(),"BCOMP(CDFstrict)"===g.Lb){f=new M(g);break a}f=K()}f.d()?f=K():(f=f.W().Gd,f=new M(new Lb(f)));this.bt=Hf(Gf(wf(Bf(Af(a,E(b,y(0,new n([c,E(e,y(0,new n([Gc(0,f)])))])))),tb('\n  |\n  |### Commendations\n  |\n  |1. Emphasis on personalisations through mutliple entry/exit pathways\n  |\n  |2. Extent of curriculum mapping\n  |\n  |3. Success with external accreditation\n  |\n  |4. Industry Advisory Board "offers an exemplary template for other areas to engage with industry and provide job-ready graduates."\n  |\n  |5. Student-centred approach to curriculum review (in our submission)\n  |\n  |6. Student experience in S\x26T is largely and consistently positive on measures from the (QILT) Student Experience Survey\n  |\n  |---\n  |\n  |### Affirmations \n  |\n  |* Re-map the course against CBoK. Fully supported. Done in ACS submission.\n  |\n  |* Investigate expanding the size of majors, and introduce a rule permitting students to count units that are common to the Data Science and Software\n  |Development majors towards both majors. Considered beyond the reviewer\'s scope.\n  |\n  |* Consider moving mathematics units that are required for majors into those majors. (partial)\n  |\n  |* Consider the possibility of potential new majors (e.g. information systems or cybersecurity) in the re-mapping of the core units and the mathematics requirement.\n  |\n  |* Consider introducing a computational mathematics minor\n  |\n  |* Remove the long-list of out-of-discipline \u201clisted units\u201d from the majors.\n  |\n  |* Consider bringing some material forward to first year based on students being better prepared.\n  |\n  |---\n  |\n  |### Recommendations - for us\n  |\n  |* #3 risk-benefit analysis, to contrast the requirements of CDF and ACS\n  |\n  |* #4 establish internal Course Advisory Board, distinct from IAB (from Jan 2023)\n  |\n  |* #5 analyse where specific units (e.g. mathematics) cause attrition or progression issues annually (at CAB)\n  |\n  |* #6 a recommendation that *other* courses should adopt "emergent and successful interventions noted in the BCOMP and MIT" re employability\n  |\n  |')),
 zb().ur),"bottom"))}Gj.prototype=new m;Gj.prototype.constructor=Gj;function Ij(){Hb();var a=B(C(),"div");w();return E(a,y(0,new n([new G((new H("style")).e,"height: 800px; overflow-y: scroll")])))}Gj.prototype.$classData=q({Gz:0},!1,"planning.aug2022deck$package$",{Gz:1,b:1});var Hj;function Hb(){Hj||(Hj=new Gj);return Hj}function Jj(){this.vq=this.Fl=null;Kj=this;new Va(0);new Xa(0);new Wa(0);new bb(0);new ab(0);this.Fl=new Za(0);new $a(0);new Ya(0);this.vq=new n(0)}Jj.prototype=new m;
 Jj.prototype.constructor=Jj;Jj.prototype.$classData=q({UA:0},!1,"scala.Array$EmptyArrays$",{UA:1,b:1});var Kj;function Lj(){Kj||(Kj=new Jj);return Kj}var yf=q({qr:0},!0,"scala.Function0",{qr:1,b:1});function Mj(){}Mj.prototype=new m;Mj.prototype.constructor=Mj;function Nj(){}Nj.prototype=Mj.prototype;function ff(a,b){this.li=null;this.Pj=b;if(null===a)throw Jd(Fd(),null);this.li=a}ff.prototype=new m;ff.prototype.constructor=ff;ff.prototype.$classData=q({$A:0},!1,"scala.Option$WithFilter",{$A:1,b:1});
 function Oj(){this.Sn=null;Pj=this;this.Sn=new Qj}Oj.prototype=new m;Oj.prototype.constructor=Oj;Oj.prototype.$classData=q({aB:0},!1,"scala.PartialFunction$",{aB:1,b:1});var Pj;function ye(){Pj||(Pj=new Oj);return Pj}function Rj(){}Rj.prototype=new m;Rj.prototype.constructor=Rj;