Full Title
Introduction to Programming 2
Transcript Title
Introduction to Programming 2
Subject Area
COMP - 0613 Computer Science
Department
COEL - Computing & Electronic Eng
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 course will build on the fundamentals of programming learnt previously. The student will learn how to develop solutions to problems that make use of object-oriented techniques, collections, file handling and exception handling.
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 final exam will be provided. Students will also be given an opportunity to repeat CA work.
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 %
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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.