COMP06236 2018 Introduction to Programming 2

General Details

Full Title
Introduction to Programming 2
Transcript Title
Introduction to Programming 2
Code
COMP06236
Attendance
N/A %
Subject Area
COMP - 0613 Computer Science
Department
COEL - Computing & Electronic Eng
Level
06 - Level 6
Credit
10 - 10 Credits
Duration
Stage
Fee
Start Term
2018 - Full Academic Year 2018-19
End Term
9999 - The End of Time
Author(s)
Keith McManus, John Weir, Vivion Kinsella
Programme Membership
SG_KAPPL_H08 201800 Bachelor of Arts (Honours) in Computing in Application Design and User Experience SG_KSMAR_H08 201800 Bachelor of Science (Honours) in Computing in Smart Technologies SG_KSODV_H08 201800 Bachelor of Science (Honours) in Computing in Software Development SG_KNCLD_H08 201800 Bachelor of Science (Honours) in Computing in Computer Networks and Cloud Infrastructure SG_KAPPL_B07 201800 Bachelor of Arts in Computing in Application Design and User Experience SG_KNCLD_B07 201800 Bachelor of Science in Computing in Computer Networks and Cloud Infrastructure SG_KCMPU_H08 201800 Bachelor of Science (Honours) in Computing SG_KSMAR_C06 201800 Higher Certificate in Science in Computing in Smart Technologies SG_KSMAR_B07 201800 Bachelor of Science in Computing in Smart Technologies SG_KAPPL_C06 201800 Higher Certificate in Science in Computing in Application Design and User Experience SG_KSODV_B07 201800 Bachelor of Science in Computing in Software Development SG_KNETW_C06 201800 Higher Certificate in Science in Computing in Computer Networks SG_KSODV_C06 201800 Higher Certificate in Science in Software Development SG_KCMPU_C06 201800 Higher Certificate in Science in Computing in Computing SG_KCMPU_B07 201800 Bachelor of Science in Computing in Computing SG_KAPPL_H08 201900 Bachelor of Arts (Honours) in Computing in Application Design and User Experience SG_KSMAR_H08 201900 Bachelor of Science (Honours) in Computing in Smart Technologies SG_KSODV_H08 201900 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 201900 Bachelor of Science (Honours) in Computing SG_KSMAR_C06 201900 Higher Certificate in Science in Computing in Smart Technologies SG_KCMPU_C06 201900 Higher Certificate in Science in Computing in Computing SG_KCMPU_B07 201900 Bachelor of Science in Computing in Computing SG_KNCLD_B07 201900 Bachelor of Science in Computing in Computer Networks and Cloud Infrastructure SG_KNCLD_H08 201900 Bachelor of Science (Honours) in Computing in Computer Networks and Cloud Infrastructure SG_KSODV_B07 201900 Bachelor of Science in Computing in Software Development SG_KNCLD_H08 202000 Bachelor of Science (Honours) in Computing in Computer Networks and Cloud Infrastructure SG_KCMPU_H08 202000 Bachelor of Science (Honours) in Computing SG_KSODV_H08 202000 Bachelor of Science (Honours) in Computing in Software Development SG_KSMAR_H08 202000 Bachelor of Science (Honours) in Computing in Smart Technologies SG_KAPPL_H08 202100 Bachelor of Arts (Honours) in Computing in Application Design and User Experience SG_KCNCS_H08 202100 Bachelor of Science (Honours) in Computing in Computer Networks and Cyber Security SG_KCNCS_B07 202100 Bachelor of Science in Computing in Computer Networks and Cyber Security SG_KSODV_B07 202100 Bachelor of Science in Computing in Software Development SG_KSODV_H08 202100 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202100 Bachelor of Science (Honours) in Computing SG_KCMPU_C06 202100 Higher Certificate in Science in Computing SG_KCMPU_B07 202100 Bachelor of Science in Computing SG_KSMAR_H08 202100 Bachelor of Science (Honours) in Computing in Smart Technologies SG_KSODV_H08 202200 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202200 Bachelor of Science (Honours) in Computing SG_KSODV_H08 202400 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202400 Bachelor of Science (Honours) in Computing SG_KAPPL_H08 202400 Bachelor of Arts (Honours) in Computing in Application Design and User Experience SG_KNCLD_H08 202400 Bachelor of Science (Honours) in Computing in Computer Networks and Cloud Infrastructure
Description

This module builds on the foundational programming skills previously acquired in the module Introduction to programming 1, introducing students to file handling, error handling and object-oriented programming (OOP) concepts. Through practical and applied learning, students will develop solutions to real-world problems using OOP principles. The course combines theory with hands-on lab-based activities, offering a balanced approach to deepen understanding. By the end of the module, students will be well-equipped to design robust, maintainable, and efficient software systems.

 

Learning Outcomes

On completion of this module the learner will/should be able to;

1.

Explain and apply the key concepts of object oriented programming.

2.

Develop programs that make use of files and collections.

3.

Explain and apply robust programming techniques.

4.

Make use of debugging tools to troubleshoot errors.

5.

Work with Git branches, synching with remote repositories

Teaching and Learning Strategies

Will employ direct instruction, activity based / problem based / thinking based in class learning coupled with independent learning.

Module Assessment Strategies

There will be summative and formative continuous assessment, which will include quizzes and programming exercises.

Summative assessments


Ongoing moodle quizzes incorporating CodeRunner question types

Week3 (5%) Week 6(5%) Week9(5%)


In class programming exercises.

Week 4(10%) Week 7 (15%) Week 10 (20%)

Repeat Assessments

Repeat final exam will be provided.  Students will also be given an opportunity to repeat CA work.

Indicative Syllabus

Explain and apply the key concepts of object oriented programming.

  • What is object oriented programming.
  • How to code a class (fields, properties, methods, constructors, static members)
  • How to overload methods and Constructors.
  • How to pass objects to and from methods.
  • How to work with Inheritance, Interfaces, Polymorphism, Abstract classes.

Develop programs that make use of files and collections.

  • Enumerators, enumerated data types, structs.
  • What are collections
  • How to work with collections.
  • Generics
  • Manipulating collections (e.g. sorting, searching).
  • How to work with files (managing directories, files and paths, how files and streams work, writing and reading to a text file, CSV files).

Explain and apply robust programming techniques.

  • Introduction to exceptions.
  • Structured exception handling (Try-catch-finally blocks, reporting and inspecting exceptions).
  • Introduction to data validation.
  • Common types of validity checking (presence, format, range).
  • Use generic methods to validate an entry.

Make use of debugging tools to trouble short errors.

  • Breakpoints, step into/over/out, conditional breakpoints, diagnostic messaging.
  • Debugging windows.

Work with Git repositories

  • Create and manipulate branches of code
  • Work with online git repositories
  • Sync with remote repositories

Coursework & Assessment Breakdown

Coursework & Continuous Assessment
60 %
End of Semester / Year Formal Exam
40 %

Coursework Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Continuous Assessment Coursework Assessment Assessment 60 % OnGoing 1,2,3,4,5
             
             

End of Semester / Year Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Final Exam Final Exam Open Book Exam 40 % End of Semester 1,2,3,5
             
             

Full Time Mode Workload


Type Location Description Hours Frequency Avg Workload
Lecture Lecture Theatre Lecture 1 Weekly 1.00
Practical / Laboratory Computer Laboratory Programming 6 Weekly 6.00
Independent Learning Not Specified Independent Learning 7 Weekly 7.00
Total Full Time Average Weekly Learner Contact Time 7.00 Hours

Module Resources

Non ISBN Literary Resources

C# yellow book, Rob Miles 2016

Murach's C# 2015, ISBN-13: 978-1807774943

C# Programming in Easy Steps Paperback - 12 Dec 2016,by Mike McGrath (Author), ISBN-13:978-1840787191

 

URL Resources

Course moodle website will provide links to interesting websites, slides, lab sheets, videos, quizzes etc

Other Resources

Program development tools.