Postgraduate

CSC8011 : Introduction to Software Development

Semesters
Semester 1 Credit Value: 10
ECTS Credits: 5.0

Aims

To provide an introduction to object-oriented design and implementation, software development environments, collaborative tools and the Java programming language.

Outline Of Syllabus

•       Programs, programming, programming environments.
•       Introduction to tools for collaborative development and version control.
•       Java Programming language: comments; types; variable declarations; arithmetic and boolean expressions; assignment.
•       Objects and methods.
•       Data Structures: Arrays and array Lists.
•       Control-flow abstractions: 'if', 'while', 'do', 'switch' and 'for' statements; input and output.

•       Computer Hardware: brief overview of the mechanisms provided by hardware and the interaction that may occur between hardware and software.
•       Operating systems: basic services that are provided concentrating on modern pre-emptive style operating systems

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 materials121:0012:00Asynchronous online materials
Guided Independent StudyAssessment preparation and completion122:0024:00Lecture follow-up, includes time for formative assessment
Guided Independent StudyAssessment preparation and completion135:0035:00Background reading
Guided Independent StudyProject work120:0020:00For Practical/lab report 1. Summative Assessment
Scheduled Learning And Teaching ActivitiesDrop-in/surgery31:304:30PiP or Synchronous online sessions. Main queries will be summarised on an online module discussion
Scheduled Learning And Teaching ActivitiesScheduled on-line contact time31:304:30Synchronous online sessions. Main queries anonymously summarised on discussion board for access
Total100:00
Teaching Rationale And Relationship

Lectures will be used to introduce the learning material and for demonstrating the key concepts by example. Students are expected to follow-up lectures within a few days by re-reading and annotating lecture notes to aid deep learning.
This is a very practical subject, and it is important that the learning materials are supported by hands-on opportunities provided by practical classes. Synchronous online sessions will allow students to engage with the module staff as a form of contact queries for the practical formative assessment. Additional synchronous online sessions or PIP surgeries will enable students to have individual queries answered, either in person or via a discussion forum. Students are expected to spend time on coursework outside of synchronous online sessions. Additional background reading is expected to accompany the asynchronous lecture materials and the formative assessment.

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
Practical/lab report1M100Programming coursework (20 hrs)
Formative Assessments
Description Semester When Set Comment
Prob solv exercises1MSmall Programming Exercises
Assessment Rationale And Relationship

Practice in writing programs and using development tools is the most effective way for students to learn software development. As an introductory module in a very practical subject, the assessment is 100% coursework.

Formative, smaller programming tasks will be used as a way of practising the key skills and taught fundamentals to prepare students for the summative assessment. General feedback will be given to the class in preparation for the summative assessment.

Reading Lists

Timetable