Module Code: |
H6PROG1 |
Long Title
|
Programming I
|
Title
|
Programming I
|
Module Level: |
LEVEL 6 |
EQF Level: |
5 |
EHEA Level: |
Short Cycle |
Module Coordinator: |
FRANCES SHERIDAN |
Module Author: |
FRANCES SHERIDAN |
Departments: |
School of Computing
|
Specifications of the qualifications and experience required of staff |
MSc Degree in computing or cognate discipline or equivalent industry experience.
|
Learning Outcomes |
On successful completion of this module the learner will be able to: |
# |
Learning Outcome Description |
LO1 |
Explain the core concepts of programming |
LO2 |
Implement the core syntax and semantics of an object oriented programming language |
LO3 |
Identify and implement principles of good algorithm design |
LO4 |
Locate, and address, logical and syntactic errors in computer programs |
Dependencies |
Module Recommendations
This is prior learning (or a practical skill) that is required before enrolment on this module. While the prior learning is expressed as named NCI module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).
|
No recommendations listed |
Co-requisite Modules
|
No Co-requisite modules listed |
Entry requirements |
See section 4.2 Entry procedures and criteria for the programme including procedures recognition of prior learning
|
Module Content & Assessment
Indicative Content |
Programming Languages
Introduction to Programming. . • Programming Abstractions (High-level to Low-Level) . • Programming Environments (Text Editors, IDEs)
|
Programming Languages 2
Programming paradigms (Functional, Declarative, Imperative, Object-Oriented) . • Beginning Object-Oriented Programming . • Compiled vs Interpreted. • Approaches to Problem Solving . • Emerging Programming Paradigms and Languages
|
Working with Numerical Data
The use of variables . • Appropriate numerical data types . • Arithmetic expression evaluation . • Logical operations and conditional logic . • The role of constants
|
Conditionals
• Controlling what happens in the program with an 'if' statement . • Boolean logic expression to control the condition of the if statement
|
Conditionals 2
• Nesting 'if' statements . • Other conditional constructs such as the 'switch' statement
|
Repetition
• How to make a program repeat some portion of itself . • while loops, for loops and other forms of repetition
|
Repetition 2
• the role of Boolean logic in looping . • Identifying the appropriate loop type
|
Characters & Strings
• Textual data as Characters & Strings . • Processing text input (parsing and modifying) . • Producing text output
|
Arrays
• The basics of what an Array is . • Using arrays to store data. • Arrays and loops . • Arrays to store Objects and primitives . • Arrays as method parameters . • N-dimensional Arrays
|
Classes
• Creating a class to encapsulate an entity . • Instantiating a class . • Constructor arguments and mutable state . • Variable scoping (local, class level etc.) . • Access modifiers . • Method return values . • Rules for parameter passing (pass by reference, pass by value)
|
Object Oriented Programming Basics
• Objects as State and Functionality united . • Object Declaration & Instantiation . • Principles of Message Passing . • Program Structure (Imports, Comments, route of execution, methods, classes)
|
User Involvement
• Accepting input from the user or another program . • Producing output to standard output or to a file.
|
Assessment Breakdown | % |
Coursework | 100.00% |
AssessmentsFull Time
Coursework |
Assessment Type: |
Continuous Assessment |
% of total: |
Non-Marked |
Assessment Date: |
n/a |
Outcome addressed: |
1,2,3,4 |
Non-Marked: |
Yes |
Assessment Description: Ongoing independent and group programming activities and feedback. |
|
Assessment Type: |
Continuous Assessment |
% of total: |
50 |
Assessment Date: |
n/a |
Outcome addressed: |
1,2,3 |
Non-Marked: |
No |
Assessment Description: Each week student will submit program code to the Moodle server for grading. Student will be supplied with an interface specification for the program(s) and the grading will be conducted via automated unit testing based on unknown inputs.
Students will be examined on their ability to convey understanding of the programs which they have developed. Topics which will be addressed include control flow, use of variables, intelligent usage of objects. |
|
Assessment Type: |
Practical |
% of total: |
50 |
Assessment Date: |
n/a |
Outcome addressed: |
2,3,4 |
Non-Marked: |
No |
Assessment Description: The students will have to develop solutions to programming problems relevant to all material covered in the module using a proctored computer in an examination environment. There will be a written component to assess the student ability to determine errors in a program. |
|
No End of Module Assessment |
Reassessment Requirement |
Repeat examination
Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element.
|
Reassessment Description The repeat strategy for this module is a practical programming examination. Students will be afforded an opportunity to repeat the examination at specified times throughout the year and all learning outcomes will be assessed in the repeat exam.
|
NCIRL reserves the right to alter the nature and timings of assessment
Module Workload
Module Target Workload Hours 0 Hours |
Workload: Full Time |
Workload Type |
Workload Description |
Hours |
Frequency |
Average Weekly Learner Workload |
Lecture |
Classroom & Demonstrations (hours) |
24 |
Per Semester |
2.00 |
Tutorial |
Other hours (Practical/Tutorial) |
24 |
Per Semester |
2.00 |
Independent Learning |
Independent learning (hours) |
77 |
Per Semester |
6.42 |
Total Weekly Contact Hours |
4.00 |
Module Resources
Recommended Book Resources |
---|
-
Lutz, M.. (2013), Learning Python (5th ed), O’Reilly Media.
| Supplementary Book Resources |
---|
-
Beazley, D. & Jones, B. K.. (2013), Python Cookbook(3rd ed), O’Reilly Media.
| This module does not have any article/paper resources |
---|
This module does not have any other resources |
---|
|