Module Code - Title:
CS4116
-
SOFTWARE DEVELOPMENT PROJECT
Year Last Offered:
2025/6
Hours Per Week:
Grading Type:
N
Prerequisite Modules:
Rationale and Purpose of the Module:
This module is intended to provide the student with an opportunity to undertake a semester long software development project. A student will gain experience of working in a team and the confidence to tackle a large software system.
Syllabus:
A substantial semester-long software project is set. Students, working in teams, produce a complete implementation. A partially specified project is presented. Students complete the requirements and then take the project through the design, coding and testing stages. Students will use a version control system to maintain their software and manage commits and conflicts. A relational database design will be created that notions such as full normalisation and stored procedures. Students will need to understand how to generate fully responsive websites and the interaction of CSS, JavaScript and HTML. The language and technology of implementation depends on the type of project specified but will generally allow students as much free choice as possible. (Lectures and labs will run from weeks 1 to 5 inclusive). These along with tutorials during this period will build on existing modelling, design and programming skills required to achieve the proposed system. During the remainder of the semester students will meet will their assigned supervisor to discuss their work to date in a tutorial setting on a regular basis.)
Learning Outcomes:
Cognitive (Knowledge, Understanding, Application, Analysis, Evaluation, Synthesis)
On successful completion of this module, students will be able to: 1. Given a project outline complete the requirements of the proposed system as a team. 2. Assign tasks and design the proposed system as part of a team. 3. Maintain individual/group logs of work undertaken. 4. Work independently and collaboratively as part of a team to develop the proposed system. 5. Use a modern version control system such as Git. 6. Develop knowledge, skills and understanding of internet technology. 7. Demonstrate work completed by group.
Affective (Attitudes and Values)
On successful completion of this module, students will be able to: 1. Value working in a team. 2. Desire to continue their learning. 3. Be willing to seek advice.
Psychomotor (Physical Skills)
N/A
How the Module will be Taught and what will be the Learning Experiences of the Students:
The module is delivered through lectures for the first five weeks of semester, before moving to a practice based activity where the students meet in groups of four each week with a faculty member who acts alternately as advisor and customer for the project. The module has recently been expanded to include material on and the use of modern software development platforms such as Github.
Research Findings Incorporated in to the Syllabus (If Relevant):
Prime Texts:
W. Jason Gilmore (2010)
Beginning PHP and MySQL
From Novice to Professional
, Springer
Other Relevant Texts:
Programme(s) in which this Module is Offered:
Semester(s) Module is Offered:
Spring
Module Leader:
Conor.Ryan@ul.ie