<commit_before># CMT112 - Web Application Development

Course notes, links, videos and reading for CMT112 - Web Application Development, an Autumn Semester 20 Credit Level 7 module in the School of Computer Science & Informatics at Cardiff University.

[Latest Module Description](https://data.cardiff.ac.uk/legacy/grails/module/CMT112/18A.html)


## Structure

The module is broken down into three parts:

* [Introduction to HTML, CSS & JS](Part-1/) - (Weeks 1 - 4)
* [JavaScript Fundamentals](Part-2/) (Weeks 4 - 8)
* [Server Side Development](Part-3/) (Weeks 8 - 10)



## Schedule

Contact sessions take place on Thursday mornings from 9:30am to 1pm in X/X.XX in Weeks 1 to 10. An additional contact session will be held in Week 11, but no new material will be presented, this session will be a coursework surgery for the final assessment in the module.


## Course Resources

All course material including notes, presentations, videos, recommended reading and practical exercises are available on Learning Central, the School's GitLab server, and on Github.

The material is arranged by topic. In each topic there will be links to things to read (both 'compulsory' reading which must be done each week, and 'extra' reading for those who are interested), videos to watch and code samples to examine. There will also be descriptions of the activities we will be doing during each week's contact session, and details of the individual/group lab exercises.

It is expected that before each week’s contact session you will have:

* read the relevant sections of the notes and watched any accompanying videos
* read any external recommended reading
* watched any code example demo videos
* worked through any recommended external tutorials
* completed any online quizzes

Activities within each contact session will depend on you having completed the recommended reading, watching and doing. At the end of each contact session you will be advised of which material you need to engage with before the next week's session.

During most weeks there will be some element of group exercise to be completed. It will not always be possible to complete these exercises during the lab time allotted. Students are expected to work in their groups to complete the lab exercises by the given deadline.

Each week you will be asked to individually review and provide feedback on one or more of the other group's solutions to that weeks activities.

There are no formal/traditional ‘lectures’ on this course. You have better things to do with your time than to sit and watch me read from slides, and I have better things to do than to stand in front of you reading slides for hours on end! Our contact sessions will be focused on activities that reinforce the learning you do outside of class: group discussions, group and individual exercises based on that week’s topics, and practical implementation exercises where you put the skills and knowledge learnt into practice. All the content that would usually have been delivered through ‘lectures’ is available online for you to read/watch/engage with as part of your own study.

Each 20 credit module is equivalent to approximately 200 hours of study. Our contact time makes up about 30-40 hours of this 200. The online reading, videos and tutorials are perhaps somewhere around 70 hours of study. This leaves you 100 hours for your own study, for completing group and individual lab exercises, and for completing the coursework assignments.

## Course Engagement
All contact sessions for the course are compulsory.

Engagement with the online activities may be monitored through analytics software.

There is no punishment for non-attendance in the module. However, the level of engagement with the module will determine the order in which coursework queries and requests for assistance will be dealt with. Higher levels of engagement will lead to a greater willingness on my part to deal with questions closer to assessment deadlines.

(This essentially means “don’t skip lectures, not bother with doing the reading, miss all the online quizzes and then expect an answer to your email about the coursework the day before it’s due in, because you won’t be getting one!”)

## Coursework Assignments
This module is assessed through two coursework assignments, there is no exam.

Coursework 1 is worth 30% of the module marks, and involves developing a simple static website.

* Hand out Week 2
* Hand out Week 5

Coursework 2 is worth 70% of the module marks, and involves developing an interactive web application.

* Hand out Week 7
* Hand in Week 12

All assignments will be submitted through Learning Central. Marks and written feedback will be returned via GradeCentre. This will be supplemented by oral feedback during a contact session.

## Lecturing Staff

The module leader for CMT112 is <NAME>.

My office is N/2.15, and during the Autumn semester I am generally available there Monday, Tuesday and Thursday afternoons.

I can be emailed at [<EMAIL>](mailto:<EMAIL>), and can be found on Twitter as [@martinjc](https://www.twitter.com/martinjc).<commit_msg>added some formatting<commit_after># CMT112 - Web Application Development

Course notes, links, videos and reading for CMT112 - Web Application Development, an Autumn Semester 20 Credit Level 7 module in the School of Computer Science & Informatics at Cardiff University.

[Latest Module Description](https://data.cardiff.ac.uk/legacy/grails/module/CMT112/18A.html)


## Structure

The module is broken down into three parts:

* [Introduction to HTML, CSS & JS](Part-1/) - (Weeks 1 - 4)
* [JavaScript Fundamentals](Part-2/) (Weeks 4 - 8)
* [Server Side Development](Part-3/) (Weeks 8 - 10)



## Schedule

Contact sessions take place on Thursday mornings from 9:30am to 1pm in X/X.XX in Weeks 1 to 10. An additional contact session will be held in Week 11, but no new material will be presented, this session will be a coursework surgery for the final assessment in the module.


## Course Resources

All course material including notes, presentations, videos, recommended reading and practical exercises are available on Learning Central, the School's GitLab server, and on Github.

The material is arranged by topic. In each topic there will be links to things to read (both 'compulsory' reading which must be done each week, and 'extra' reading for those who are interested), videos to watch and code samples to examine. There will also be descriptions of the activities we will be doing during each week's contact session, and details of the individual/group lab exercises.

It is expected that before each week’s contact session you will have:

* read the relevant sections of the notes and watched any accompanying videos
* read any external recommended reading
* watched any code example demo videos
* worked through any recommended external tutorials
* completed any online quizzes

!> Activities within each contact session will depend on you having completed the recommended reading, watching and doing. At the end of each contact session you will be advised of which material you need to engage with before the next week's session.

During most weeks there will be some element of group exercise to be completed. It will not always be possible to complete these exercises during the lab time allotted. Students are expected to work in their groups to complete the lab exercises by the given deadline.

Each week you will be asked to individually review and provide feedback on one or more of the other group's solutions to that weeks activities.

There are no formal/traditional ‘lectures’ on this course. You have better things to do with your time than to sit and watch me read from slides, and I have better things to do than to stand in front of you reading slides for hours on end! Our contact sessions will be focused on activities that reinforce the learning you do outside of class: group discussions, group and individual exercises based on that week’s topics, and practical implementation exercises where you put the skills and knowledge learnt into practice. All the content that would usually have been delivered through ‘lectures’ is available online for you to read/watch/engage with as part of your own study.

Each 20 credit module is equivalent to approximately 200 hours of study. Our contact time makes up about 30-40 hours of this 200. The online reading, videos and tutorials are perhaps somewhere around 70 hours of study. This leaves you 100 hours for your own study, for completing group and individual lab exercises, and for completing the coursework assignments.

## Course Engagement
!> All contact sessions for the course are compulsory.

Engagement with the online activities may be monitored through analytics software.

There is no punishment for non-attendance in the module. However, the level of engagement with the module will determine the order in which coursework queries and requests for assistance will be dealt with. Higher levels of engagement will lead to a greater willingness on my part to deal with questions closer to assessment deadlines.

(This essentially means “don’t skip lectures, not bother with doing the reading, miss all the online quizzes and then expect an answer to your email about the coursework the day before it’s due in, because you won’t be getting one!”)

## Coursework Assignments
This module is assessed through two coursework assignments, there is no exam.

Coursework 1 is worth 30% of the module marks, and involves developing a simple static website.

* Hand out Week 2
* Hand out Week 5

Coursework 2 is worth 70% of the module marks, and involves developing an interactive web application.

* Hand out Week 7
* Hand in Week 12

?> All assignments will be submitted through Learning Central. Marks and written feedback will be returned via GradeCentre. This will be supplemented by oral feedback during a contact session.

## Lecturing Staff

The module leader for CMT112 is <NAME>.

My office is N/2.15, and during the Autumn semester I am generally available there Monday, Tuesday and Thursday afternoons.

I can be emailed at [<EMAIL>](mailto:<EMAIL>), and can be found on Twitter as [@martinjc](https://www.twitter.com/martinjc).
{'fraction_non_alphanumeric': 0.04051277032977786, 'fraction_numerical': 0.013112829043937763, 'mean_word_length': 4.5664488017429194, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 12, 'https://': 4, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '549774', 'n_tokens_mistral': 2485, 'n_tokens_neox': 2290, 'n_words': 1567}