Skip to main content

Module

CSC8011 : Introduction to Software Development

  • Offered for Year: 2022/23
  • Module Leader(s): Dr Dan Nesbitt
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus
Semesters
Semester 1 Credit Value: 10
ECTS Credits: 5.0

Aims

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

Outline Of Syllabus

•       Programs, programming, programming environments.
•       Introduction to tooling for version control.
•       The Java Programming Language Architecture: JVM, JRE, and JDK.
•       Java Programming language fundamentals: types, variables, arithmetic expression, boolean conditions,
•       Objects and methods.
•       Data Structures: Arrays, Array Lists, Maps, and Sets
•       Control-flow abstractions: 'if', 'while', 'do', 'switch' and 'for' statements; input and output.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Structured Guided LearningLecture materials81:008:00Asynchronous online preparatory materials
Scheduled Learning And Teaching ActivitiesLecture161:0016:00Synchronous present in person (pip) lectures if possible, or synchronous online sessions
Guided Independent StudyAssessment preparation and completion83:0024:00Lecture and async materials follow-up, includes time for formative assessment
Guided Independent StudyAssessment preparation and completion128:0028:00Background reading
Scheduled Learning And Teaching ActivitiesPractical41:004:00Synchronous present in person practical sessions if possible, and/or synchronous online sessions
Guided Independent StudyProject work120:0020:00For Practical/lab report 1. Summative Assessment
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.
Students are expected to spend time on coursework outside of timetabled sessions. Additional background reading is expected to accompany the asynchronous lecture materials and the formative assessment.

Assessment Methods

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