CSC1034 : Programming Portfolio 1
CSC1034 : Programming Portfolio 1
- Offered for Year: 2024/25
- Module Leader(s): Dr Phillip Lord
- Lecturer: Dr Ittoop Puthoor, Dr Jennifer Warrender, Dr Jichun Li
- Other Staff: Ms Hasti Kamali, Mr Omid Akbarzadeh, Mrs Mahdieh Zaker
- Owning School: Computing
- Teaching Location: Newcastle City Campus
Semesters
Your programme is made up of credits, the total differs on programme to programme.
Semester 1 Credit Value: | 30 |
ECTS Credits: | 15.0 |
European Credit Transfer System | |
Pre-requisite
Modules you must have done previously to study this module
Pre Requisite Comment
N/A
Co-Requisite
Modules you need to take at the same time
Code | Title |
---|---|
CSC1031 | Fundamentals of Computing |
CSC1032 | Computer Systems Design and Architectures |
CSC1033 | Foundations of Data Science |
Co Requisite Comment
In this module students will apply, material covered in the co-requisites in a practical situation using synoptic assessment. As such it will provide coherence to all material covered in Stage 1.
Aims
By the end of this module students will have gained, at an introductory level, experience in, and a knowledge of the basic concepts of all stages of the software engineering lifecycle, namely requirements analysis, design, coding, testing and maintenance. Particular emphasis will be placed on the development of programming skills. An active learning, problem-based approach will be 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. Topics will be selected broadly from across 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, Trends in Pervasive Computing, Games, Software Engineering, Data Analytics). Students will have gained awareness of the legal, social, ethical and professional aspects of being a practising software engineer.
Outline Of Syllabus
• An introduction to all stages of the software engineering lifecycle.
• An introduction to general principles of programming languages and their realisation in a representative
language.
• An introduction to the legal, social, ethical and professional aspects of being a software engineer.
Learning Outcomes
Intended Knowledge Outcomes
After completing this module students will be able to articulate, at a basic level, the wider engineering context that applies to developing complex software system and will be able to:
• Explain fundamental programming constructs such as assignments, conditionals, loops and functions
• Describe appropriate style rules for formatting and documenting legible and maintainable software
• Assess the suitability of software structures for an application
• Describe the software engineering lifecycle and identify its stages.
• Recognise the legal, social, ethical and professional issues arising in real situations.
• Identify and select online sources of supporting material relevant to their project work
• Report on the processes involved in developing software
Intended Skill Outcomes
After completing this module students will, at a fundamental level, be able to tackle all aspects of the software engineering lifecycle. They will be able to:
• Analyse a problem in order to identify, in a succinct way, a user’s requirements
• Prepare a specification meeting a set of requirements
• Produce a design from their own and other suitable specifications
• Translate a design into a well formatted and documented piece of software
• Develop and deploy an appropriate testing strategy
• Choose and use appropriate techniques to debug an existing software system
• Modify an existing software system to extend its functionality.
• Appraise and employ online sources at all stages of the software engineering lifecycle
Teaching Methods
Teaching Activities
Category | Activity | Number | Length | Student Hours | Comment |
---|---|---|---|---|---|
Scheduled Learning And Teaching Activities | Lecture | 22 | 1:00 | 22:00 | Lectures |
Guided Independent Study | Assessment preparation and completion | 26 | 3:00 | 78:00 | Practical follow up, includes time for formative exercises |
Structured Guided Learning | Lecture materials | 30 | 1:00 | 30:00 | Lecture Follow up |
Guided Independent Study | Assessment preparation and completion | 3 | 20:00 | 60:00 | The Software Artefacts |
Scheduled Learning And Teaching Activities | Practical | 12 | 2:00 | 24:00 | Practicals |
Scheduled Learning And Teaching Activities | Practical | 12 | 1:00 | 12:00 | Practicals |
Guided Independent Study | Independent study | 1 | 74:00 | 74:00 | Background reading and/or optional drop-in sessions |
Total | 300: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 to attempt the problems set.
For each topic/problem students will provide a software artefact that contributes to their portfolio of evidence of the activities they have undertaken.
The lectures and practical sessions will provide support for developing the skills.
Reading Lists
Assessment Methods
The format of resits will be determined by the Board of Examiners
Other Assessment
Description | Semester | When Set | Percentage | Comment |
---|---|---|---|---|
Case study | 1 | M | 100 | Three Software Artifacts equivalent to 3000 words |
Formative Assessments
Formative Assessment is an assessment which develops your skills in being assessed, allows for you to receive feedback, and prepares you for being assessed. However, it does not count to your final mark.
Description | Semester | When Set | Comment |
---|---|---|---|
Prob solv exercises | 1 | M | Practical/Tutorial exercises (not submitted) |
Assessment Rationale And Relationship
Students will produce a portfolio of evidence demonstrating 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.
Three software artifacts equivalent to 3000 words total will be required. Each artifact will also contain a reflective report on the skills gained.
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.
Timetable
- Timetable Website: www.ncl.ac.uk/timetable/
- CSC1034's Timetable
Past Exam Papers
- Exam Papers Online : www.ncl.ac.uk/exam.papers/
- CSC1034's past Exam Papers
General Notes
N/A
Welcome to Newcastle University Module Catalogue
This is where you will be able to find all key information about modules on your programme of study. It will help you make an informed decision on the options available to you within your programme.
You may have some queries about the modules available to you. Your school office will be able to signpost you to someone who will support you with any queries.
Disclaimer
The information contained within the Module Catalogue relates to the 2024 academic year.
In accordance with University Terms and Conditions, the University makes all reasonable efforts to deliver the modules as described.
Modules may be amended on an annual basis to take account of changing staff expertise, developments in the discipline, the requirements of external bodies and partners, and student feedback. Module information for the 2025/26 entry will be published here in early-April 2025. Queries about information in the Module Catalogue should in the first instance be addressed to your School Office.