DCU Home | Our Courses | Loop | Registry | Library | Search DCU
<< Back to Module List

Module Specifications.

Current Academic Year 2024 - 2025

All Module information is indicative, and this portal is an interim interface pending the full upgrade of Coursebuilder and subsequent integration to the new DCU Student Information System (DCU Key).

As such, this is a point in time view of data which will be refreshed periodically. Some fields/data may not yet be available pending the completion of the full Coursebuilder upgrade and integration project. We will post status updates as they become available. Thank you for your patience and understanding.

Date posted: September 2024

Module Title Introduction to Programming
Module Code CA598 (ITS) / CSC1119 (Banner)
Faculty Engineering & Computing School Computing
Module Co-ordinatorStephen Blott
Module TeachersBrian Davis
NFQ level 9 Credit Rating 5
Pre-requisite Not Available
Co-requisite Not Available
Compatibles Not Available
Incompatibles Not Available
None
The option is available to resit both examination and a coursework element (the final project). The former is more usual, as the project is joint. Nevertheless, a repeat project for an individual student may be set if circumstances require.
Description

The module aims to give the students a foundation in procedural programming. While Introductory, the focus is on thorough understanding of the basic concepts. The course progresses in three levels of difficulty. At Level 1, students have weekly, automatically low stakes assessed programming exercises which provide immediate formative feedback, to develop competence in the concepts being covered. These will culminate in a programming portfolio. This enables the students to bring themselves up to date, before moving on. Summative assessment includes one laboratory exam (Level 2) and one group project (Level 3). Laboratory exams are open book; projects are implemented in small groups. The group assignment also includes a short structured reflective report on by each group member which will be assessed individually. The report involves a critically reflective piece on the programming concepts learned in the group project. Introductory Topics: introduction to the Computer; introduction to Python Programming; Introduction to the Python Problem Solving Techniques: Problem Analysis and Problem Solving; Control Structures - sequence, selection, and iteration Introduction to the basic features of Python : Integer and floating-point variables; Boolean variables; Arithmetic calculations; Operator precedence; Mathematical functions; Control structures in Python if and if/else; while loops; for loops; Lists - Declaration, initialisation and data storage for lists. Manipulating Lists. Strings: Modularity: Use of Python Functions ; passing data between functions. Implement basic programming idioms, such as linear search of an array/list

Learning Outcomes

1. Analyse a problem and write its solution in structured English
2. Read and modify Python programming code
3. Use variables and lists to store data in Python programmes
4. Write programmes using the programming structures Sequence, Selection and Iteration
5. Use Python programmes to break a programme into modules
6. Implement basic programming idioms, such as linear search of an array.



Workload Full-time hours per semester
Type Hours Description
Tutorial12Exercises from notes and previewing laboratory exercises are worked through in small groups.
Laboratory20Practical exercises are attempted by students in the laboratory. Stage 2 assessment involves a laboratory-based exam on these exercises.
Lecture24Full class notes are provided in booklet form in advance of lectures and material is divided by lecture and topics covered. Course content, including supplementary material on key topics and a short interactive tutorial are available online
Independent Study71This comprises time for reading, reviewing given and other exercises, group interaction on project, project time and write-up and revision
Total Workload: 127

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities

Python Programming Fundamentals
Writing, running and debugging Python programs. Basic data types including numeric types, booleans and strings, the operations on those types, their operators and their precedence. Python arrays and tuples and their operations. Selection and Iteration. Defining and calling functions in Python Text-oriented input/output from standard input and to standard output.

Problem Solving
Computational problem solving: translate programming problems from problem statement to functional solution/implementation. The use of Python arrays and tuples in algorithms and problem solving. Introductory algorithms, including linear search, binary search, insertion sort and selection sort. Iterative solutions to basic computational problems.

Resources
With the amount of material available on-line, it is unnecessary to recommend a particular textbook. Students will be provided with detailed notes and references to (as well as extracts from) third-party materials where appropriate.

Assessment Breakdown
Continuous Assessment50% Examination Weight50%
Course Work Breakdown
TypeDescription% of totalAssessment Date
Laboratory PortfolioLevel 1: Lab Assignments Students should be able to design an algorithm and write a programme using Sequence, Selection and Iteration. they should also be familiar with reading and understanding simple Python code.10%Every Week
Loop ExamLevel 2: Lab exam. This will usually take place during week nine of the semester, but may vary due to factors such as the delivery schedule and public holidays15%Week 9
ProjectLevel 3: the students complete a project in groups, which will involve writing a programme using sequence selection and iteration. They will collaboratively create test plans for different stages of the project's development. The group will write test individual modules, perform module integration, and a final system test using further file handling code provided by the lecturer. The final stage of the project involves adding amendments to the system so that all modules need alteration. Finally, each student will write an individual critical reflection on programming concepts and constructs encountered in the project.25%Week 12
Reassessment Requirement Type
Resit arrangements are explained by the following categories:
Resit category 1: A resit is available for both* components of the module.
Resit category 2: No resit is available for a 100% continuous assessment module.
Resit category 3: No resit is available for the continuous assessment component where there is a continuous assessment and examination element.
* ‘Both’ is used in the context of the module having a Continuous Assessment/Examination split; where the module is 100% continuous assessment, there will also be a resit of the assessment
This module is category 1
Indicative Reading List

  • Cay S. Horstmann, Rance D. Necaise: 2018, Python For Everyone, 3rd, John Wiley & Sons, Limited,, 1119572819
Other Resources

None

<< Back to Module List