Skip to main content


CSC8427 : Introduction to Software Development

  • Offered for Year: 2021/22
  • Module Leader(s): Dr Tejal Shah
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus
Semester 2 Credit Value: 10
ECTS Credits: 5.0


This is the first software development module in a series of modules delivered as part of the Software Engineering Degree Apprenticeship. Each software development module presents apprentices with a thematic Project-Based challenge that requires them to master specific skills, knowledge and behaviour, and apply them to a given project challenge that is due near the end of the semester.

In this module, the Project-based challenge focuses on technical Java programming skills and professional software engineering behaviours that includes some problems that they must fix and provide each other peer review feedback.

Aims of this module can be summarised as
•       Work with existing code, work with version control software, and program to solve and enhance a technical challenge.
•       Transfer module knowledge and skills and behaviour to the workplace and reflect on their business impact

Outline Of Syllabus

The module will cover

o       Programs, programming, programming environments.
o       Introduction to tools for collaborative development and version control.
o       Java Programming language: comments; types; variable declarations; arithmetic and Boolean expressions; assignment.
o       Control-flow abstractions.
o       Data Structures.
o       Objects and methods.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Guided Independent StudyAssessment preparation and completion110:0010:00Preparation for End Point Assessment (EPA) apprentice to record reflections in APTEM.
Structured Guided LearningLecture materials101:0010:00A combination of short recordings of lecture material, slides and/or text published on VLE each week
Structured Guided LearningAcademic skills activities101:0010:00Activities to be released on VLE to develop technical skills in Java programming.
Scheduled Learning And Teaching ActivitiesPractical102:0020:00Work in a supervised environment to develop skills and professional practice.
Guided Independent StudySkills practice110:0010:00Apprentices to apply skills and knowledge in the workplace to continue their learning.
Scheduled Learning And Teaching ActivitiesWorkshops101:0010:00Opportunity to walk through weekly practical activity, encourage peer review +discussions re content
Guided Independent StudyProject work130:0030:00Problem based assessment by apprentices -unsupervised. Includes programming and report writing
Teaching Rationale And Relationship

Software Engineering is an applied discipline that requires apprentices to not only write functional code from scratch but also be able to review, revise and test existing code. In the real world software engineers must work in collaboration with colleagues and stakeholders. Therefore, a collaborative problem solving mind-set is intrinsic to this discipline.

Applying a combination of Merrill’s Principles of Instruction, and the principals of Project Based Learning (PBL) apprentices will be shown real world problems with guided solutions to review and practice, and a project challenge that requires them to apply their newly learned knowledge and skills to produce a summative product in response to the challenge.

The weekly structured learning activities will provide structure, continuous feedback, and opportunities to develop their programming skills.

In each week, apprentices will be provided with online lecture material (short videos, slides and/or text) that will be used to introduce the learning material and for demonstrating the key concepts by example.

Weekly scheduled seminar/workshop style sessions on campus will provide opportunities to discuss the materials covered in the week and for live questions and answers about these topics.

On the Job include:
Unlike regular MSc students, apprentices must also apply their knowledge and skills to the workplace. Given that this is the first module in the programme, opportunities to transfer learning may include:
•       observing their organisations approaches,
•       reviewing simple code,
•       discussing examples covered in this module with their colleagues to gain different perspectives.

Assessment Methods

The format of resits will be determined by the Board of Examiners

Other Assessment
Description Semester When Set Percentage Comment
Case study2M100Individual 2500 wrd report reflects on, coding, inclusion or response to peer feedback, how this challenge applies at the workplace
Zero Weighted Pass/Fail Assessments
Description When Set Comment
Reflective logMApprentices to submit reflections into APTEM showing what they have learned, how they have/plan to transfer into the workplace.
Formative Assessments
Description Semester When Set Comment
Prob solv exercises2MNon-graded. Feedback during the lab sessions on technical programming exercises. Supports summative lab report.
Assessment Rationale And Relationship

There is one summative assessment in this module which is an individual report. This report is a description of their approach to problem solving, receiving and providing peer review, and a copy of their project code submitted to a version control system.

To support the summative assessments, there are non-assessed weekly online feedback sessions. These provide apprentices opportunities to learn and discuss practical skills, step by step, with the benefit of feedback from demonstrators

This apprenticeship recognises that not all learning can be mastered in one day, therefore there is time allocated for practising skills, meaning apprentices can transfer their knowledge and skill into the workplace. These opportunities need to be identified during three monthly tripartite meetings with the apprentice, their manager and their degree apprenticeship tutor.

Reading Lists