Skip to main content

Module

CSC1035 : Programming Portfolio 2

  • Offered for Year: 2020/21
  • Module Leader(s): Dr Jennifer Warrender
  • Lecturer: Mr Jordan Barnes, Dr Sergiy Bogomolov
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus
Semesters
Semester 2 Credit Value: 30
ECTS Credits: 15.0

Aims

By the end of this module students will have gained further experience in, and a knowledge of the basic concepts of all stages of the software engineering lifecycle, both as individuals and as members of a team, namely requirements analysis, design, coding, testing and maintenance, building on the experience gained in Programming Portfolio 1. Emphasis will be placed on the development of programming skills. An active learning, problem-based approach is adopted. Students will be given a series of practical problems that relate to various stages of the software engineering lifecycle. Supplementary lecture materials will introduce the topics to be tackled, and how to tackle them, but these topics will relate to aspects of the material presented in one or more of the co-requisite modules Computer Systems Design, Information Storage and Retrieval, and Fundamentals of Computing, thus giving students practical enrichment of that material, and/or to specialisms that can be studied at Stages 2 and 3 (HCI, Security, Bio, Games, Software Engineering, Data Analytics), thus enabling students to gain a flavour of what is available in the later stages of their programme of study and allowing them to make an informed choice towards the end of Stage 2. Students will have gained further awareness of the legal, social, ethical and professional aspects of being a practicing software engineer.

Outline Of Syllabus

Students expand their knowledge and experience in all stages of the software engineering life- cycle.

Lectures and tutorials expand upon general principles of:



The building blocks and structure of computer programs

Data structures, collection classes, generic types and iteration

Time, space, speed trade-offs in program design

Understanding programming abstraction

Exploring and realizing higher level abstractions

Error checking/programming with exception handling

Recursion with examples from sorting and searching

Event Driven Programming

Design patterns: immutability, factories, singleton, composition.

Students will gain further insight into the legal, social, ethical and professional aspects of being a software engineer

Teaching Methods

Please note that module leaders are reviewing the module teaching and assessment methods for Semester 2 modules, in light of the Covid-19 restrictions. There may also be a few further changes to Semester 1 modules. Final information will be available by the end of August 2020 in for Semester 1 modules and the end of October 2020 for Semester 2 modules.

Teaching Activities
Category Activity Number Length Student Hours Comment
Structured Guided LearningLecture materials361:0036:00Asynchronous online materials
Guided Independent StudyAssessment preparation and completion362:0072:00Lecture follow up, includes time for formative exercises
Guided Independent StudyAssessment preparation and completion420:0080:00The Software Artefacts and Reflection Report
Scheduled Learning And Teaching ActivitiesDrop-in/surgery91:3013:30Synchronous present in person (pip) sessions, or additional synchronous online sessions
Guided Independent StudyIndependent study185:0085:00Background reading using online material
Scheduled Learning And Teaching ActivitiesScheduled on-line contact time91:3013:30Synchronous online sessions
Total300:00
Teaching Rationale And Relationship

Lectures materials will be used to introduce each project, and aspects of software engineering, particularly programming. During their independent study time, students will review online materials providing further support for development of programming skills. They will also use this time tackle the problems set, as individuals or in teams. The practical sessions will provide support for developing the skills they need for these activities.

Assessment Methods

Please note that module leaders are reviewing the module teaching and assessment methods for Semester 2 modules, in light of the Covid-19 restrictions. There may also be a few further changes to Semester 1 modules. Final information will be available by the end of August 2020 in for Semester 1 modules and the end of October 2020 for Semester 2 modules.

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

Other Assessment
Description Semester When Set Percentage Comment
Case study2M90Up to 3 software artefacts
Report2M10Reflective report
Formative Assessments
Description Semester When Set Comment
Prob solv exercises2MPractical/Tutorial exercises
Assessment Rationale And Relationship

Students will produce a portfolio of evidence that they have mastered practical skills in software development applied to a variety of problems chosen to reflect real world applications but targeted at the skill level of the students when the work is set.

For each topic/problem students will provide a report that contributes to their portfolio of evidence of the activities they have undertaken, either as individuals, or as part of a team. Up to 3 software artifacts and/or reports equivalent to 3000 words total will be required with a single reflective report on the skills gained summarising the portfolio of evidence produced by the problem-based activities equivalent to 1000 words.

Students will be given a range of formative exercises to introduce them to relevant tools, develop their understanding of programming concepts and provide them with the opportunity to gain experience through practical application.

Reading Lists

Timetable