Page 1 of 1

Module Code - Title:

CS4141 - INTRODUCTION TO PROGRAMMING

Year Last Offered:

2021/2

Hours Per Week:

Lecture

2

Lab

4

Tutorial

0

Other

0

Private

4

Credits

6

Grading Type:

N

Prerequisite Modules:

Rationale and Purpose of the Module:

To provide a language independent introduction to programming using one programming language - the programming language and its operating environment is selected by the Department and the selection is reviewed regularly.

Syllabus:

a. Programming process: understanding the problem, planning the logic, designing the solution, code the program, translate the program into machine language, test the program; syntax and semantics. b. Declaring and defining variables/data; primitive data types; constant definitions; mixed data types; arithmetic expressions and precedence; assigning statements. c. Relational expressions, logical expressions and precedence; selection statements; problem solution considerations; data validation; error handling. d. Looping constructs; problem solution considerations. e. Introduction to classes, objects and encapsulation. f. Modules, subroutines, procedures and functions; flow of control; design considerations; library functions; user defined functions; local and global variables; scope, visibility and lifetime of variables/data; actual and formal arguments/parameters. g. Desk checking solutions; dry running code; writing self-checking code; systematic debugging approaches. h. One dimensional arrays and their manipulation. i. String manipulation j. Input and Output.

Learning Outcomes:

Cognitive (Knowledge, Understanding, Application, Analysis, Evaluation, Synthesis)

On successful completion of this module, students should be able to: 1. Construct, use, evaluate and revise rudimentary testing strategies for programs purporting to solve a specified problem. 2. Design, formulate and assemble software components (i.e. methods and functions) to solve a specified programming problem. 3. Given a straightforward problem specification design, construct, evaluate and revise programs that solve a problem. 4. Identify, explain and apply basic programming constructs to the solution of straightforward problems. 5. Name, locate and employ the software tools required to create, distribute and backup software artefacts. 6. Name, recognise, use and appraise basic data types and structures (e.g. arrays, records).

Affective (Attitudes and Values)

On successful completion of this module, students should be able to: 1. Value the benefits of teamwork and shared solution development.

Psychomotor (Physical Skills)

n/a

How the Module will be Taught and what will be the Learning Experiences of the Students:

The lectures will be used to present programming concepts and related examples. The labs allow students to develop these concepts through programming exercises and will give the students opportunities to solve example problems and discuss these as a group

Research Findings Incorporated in to the Syllabus (If Relevant):

Prime Texts:

Y.D Liang (2011) Introduction to Java Programming (8th edition) , Pearson Higher Education

Other Relevant Texts:

J.M. Farrell (2014) A Guide to Programming Logic and Design , Course Technology

Programme(s) in which this Module is Offered:

Semester - Year to be First Offered:

Module Leader:

dermot.shinners@ul.ie