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. Particular 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 lectures and online 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 practising 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 realising 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

Module leaders are revising this content in light of the Covid 19 restrictions.
Revised and approved detail information will be available by 17 August.

Assessment Methods

Module leaders are revising this content in light of the Covid 19 restrictions.
Revised and approved detail information will be available by 17 August.

Reading Lists

Timetable