Module Guide: CI1152 Practical Programming Occurrence 'B' (Ruby on Rails)
General Information
- Module:
- CI1152: Paractical Programming - Group 1, Ruby on Rails (Semester 2, 2011)
- Ruby on Rails Lecturer:
- Jarek Francik
- Helpers:
- Moazam Fraz, Patrick Magee and Eric Oppong
- Teaching Schedule:
- Mondays all weeks, 9:30 - 1pm, combined lecture/workshop sessions in SB222/224
- Assessment:
-
The dates provided below are indicative and subject to change.
Check the home page for the latest details on your activities.
Type of Assessment Weighting Set Date Mock Date Due Date Feedback 1. HTML and CSS 10% 31/01 07/02 14/02 9:00 a.m. within a week 2. Controllers and Views 10% 21/02 none 14/03 9:00 a.m. within a week 3. User Registration, Login and Security 15% 07/03 21/03 28/03 9:00 a.m. within a week 4. Publishing Posts 35% 28/03 09/05 16/05 midnight within 3 weeks Final Test 30% n/a n/a t.b.a. in-class test
Aims
The aims of the module are:
- To develop your enthusiasm for practical programming,
- To enhance your experience with programming environments,
- To develop your confidence in your ability to write programs.
Teaching Methods
The module will comprise of 48 hours of student contact time. All of this time will be allocated to practical classes (PC contact time), although Lecturers will make presentations and demonstrations during this period. The time allocated to the module also includes 11 hours of mandatory directed study based on the course text books and 95 hours of independent study during which time the weekly questions and reading should be completed.
Approximate Schedule (subject to change)
| Week | Date | Topic | Remarks |
| 1 | 31/01 | XHTML | |
| 2 | 7/02 | CSS Stylesheets | Assignment #1 mock |
| 3 | 14/02 | Ruby | Assignment #1 hand-in |
| 4 | 21/02 | Controllers and Views | |
| 5 | 28/02 | [ cancelled ] | |
| 6 | 7/03 | User Registration | [ Assignment #2 extended ] |
| 7 | 14/03 | Login and Security | Assignment #2 hand-in |
| 8 | 21/03 | Extended Feedback Session | Assignment #3 mock |
| 9 | 28/03 | User Profiles (1) | Assignment #3 hand-in |
| 10 | 4/04 | User Profiles (2) | |
| - | Easter Holidays & Reading Week | ||
| 12 | 2/05 | May Bank Hoilday | |
| 12 | 9/05 | Extended Feedback Session | Assignment #3 mock |
| 12 | 16/05 | Assignment #3 hand-in | |
| 14 | t.b.a. | Final Test |
Indicative Syllabus
The 'Ruby on Rails' unit will concentrate on creating modern database-backed web applications based on Ruby, a dynamic object-oriented programming language, and Rails, an open source framework for agile application development. The unit will include following topics: creating web pages with HTML and CSS, creating web applications with Model-View-Controller architecture, web forms, testing, web security, image downloading and processing, database operations, using AJAX. The above concepts will be used to write a social networking website.
Assessment
The 'Ruby on Rails' unit will be assessed in three parts:
- three smaller assignments (35%),
- one larger assignment (35%),
- a final in-class test (30%).
Assignments 1-3 are relatively small activities based on the content of the lectures and on-line tutorials.
Assignment 4 is based on more advanced material, with longer deadlines and higher marking. While weaker students will find the minimum requirements of these assignments not particularly more difficult than in case of weekly activities, there will also be a space for more challenging tasks suitable for stronger students.
All assignments must be submitted on-line (details will be announced) by the date and time indicated. Work submitted late but within a week of the deadline and of passing standard will be capped at 40% and receive a grade of LP (Late Pass). Work submitted a week or more after the deadline without approval will receive 0% with a grade of F0.
Work submitted one week prior to the deadline will be marked pro-forma and formative feedback will be provided.
In-class test will be focused on checking if and how the student is able to critically discuss his/her achievements during the assignments.
Learning Outcomes and Assessment Strategy
| Learning Outcome | Assessment Strategy |
| Construct simple examples of sequences, iterations and decisions in programs |
The weekly activities will involve practical use of sequences and decisions. Activity #7 will include iterations through database table records. |
| Use data/information-processing functions within programs | Data processing functions are fundamental and will be used in every activity and assignment. Since week 4 all programming will process database-backed information. |
| Construct simple examples of event-driven programs | We focus on web development which is essentially event-driven. Assignment #6 (AJAX) will include examples of processing of typical UI events (keyboard, mouse). |
| Use graphical elements in simple programs. | Graphical elements of web sites will be constructed using HTML and CSS and these elements will be ubiquitous in all pieces of assessment. |
| Use third party libraries in their programs | The Rails framework is in fact a 'third party library'. Activity #6 (AJAX) will be based on use of third party scripting libraries like script.aculo.us. |
Reading
Essential Reading
- Michael Hartl, Aurelius Prochazka, RailsSpace, Addison-Wesley (ISBN 978-0-321-48079-8)
Further Reading
- Chris Pine, Learn to Program, The Pragmatic Bookshelf (ISBN 0-9766940-4-2)
- Dave Thomas, David Heinemeier Hansson, Agile Web Development with Rails, The Pragmatic Bookshelf (ISBN 978-0-9776166-3-3)
- Dave Thomas, Chad Fowler, Andy Hunt, Programming Ruby: The Pragmatic Programmer's Guide (2nd Edition), Pragmatic Bookshelf (978-0974514055)
The 1st edition of Programming Ruby book (aka Pickaxe book) is available in help format with every installation of Ruby.
The module team expects you to:
Attend every lecture, tutorial, group work or practical session which makes up your learning programme on this module.
Carry your ID card with you at all times and show it to any member of the module team if requested.
Be punctual. You are allowed to be 5 minutes late; after that please wait outside. The member of the module team in charge of the session will allow latecomers to come in at a convenient break (usually 15-30 minutes after the start of the session). After that there will be no further admittance.
Be polite and considerate at all times to your peers and staff. Please avoid creating disruptions and noise (including continual low-level chatter) in lessons. If the member of the module team in charge of the session finds you disruptive you will be asked to hand in your ID card and leave the room. You will have to see either the Director of Undergraduate Studies (Lana Lyle) or the Associate Dean (Anne Rapley) to get your card back.
Come prepared for your class. Please study the previous weeks' lecture notes and any additional material recommended to you. Make sure you work through all given exercises. Note down any questions that arise so that you can ask them in the next tutorial or practical session. Please note that you are expected to put in at least 6 hours of independent study for this module per week.
Bring your notes and relevant materials to your classes e.g. an approved calculator (a mobile phone is not a good substitute), paper to write notes on, a pen, etc.
Make a note of all submission dates and time in your diary and submit all set work on time and in the correct manner.
Only submit work which is your own unless it contains the appropriate acknowledgements to others.
Regularly read your Kingston University email and StudySpace announcements.
You can expect that the module team will:
Provide feedback on your work in the agreed time.
Be contactable during their published office hours in case you need some further information or help.
Reply to your emails within 3 working days (in term time) but please do not email your module team with requests for information that can be found elsewhere, for example, the room number for the lecture, the day and time of the module's exam. Your module team is a valuable resource, use it as such.
CISM Late submission policy
You must meet all deadlines set. Failure to do so will result in a penalty. Work submitted late but within a week of the deadline will be capped at 40% and receive a grade of LP (Late Pass) unless it is not of a passing standard in which case it will receive a grade of LF (Late Fail). Work submitted a week or more after the deadline without approval will receive 0% with a grade of F0.
However, if you have a serious problem that prevents you from meeting the deadline you may be able to negotiate an extension in advance. In the first instance, you should contact the Student Liaison Officer, Holly Rook in the Student Office for advice. However, any extension will need to be obtained from your Module Leader who will sign your mitigating circumstances form and agree a new hand in date. Your work will then be marked without penalty.
Copyright (C) 2009-2011 by Jaroslaw Francik





