MECT06004 2013 Programming Fundamentals

General Details

Full Title
Programming Fundamentals
Transcript Title
Programming Fundamentals
Code
MECT06004
Attendance
N/A %
Subject Area
MECT - Mechatronics
Department
MENG - Mech. and Electronic Eng.
Level
06 - NFQ Level 6
Credit
05 - 05 Credits
Duration
Semester
Fee
Start Term
2013 - Full Academic Year 2013-14
End Term
9999 - The End of Time
Author(s)
Ian Craig
Programme Membership
SG_EAUTI_N06 201300 Level 6 Certificate in Engineering in Automation and Instrumentation SG_EMECH_N06 201300 Higher Certificate in Engineering SG_EAUTI_N06 201900 Certificate in Automation and Instrumentation SG_EMECH_B07 201900 Bachelor of Engineering in Mechatronic Systems SG_EMSYS_B07 201900 Bachelor of Engineering in Mechatronic Systems SG_EMECH_H08 202400 Bachelor of Engineering (Honours) in Mechatronic Systems
Description

On completion of this module, the learner can expect to be proficient in the fundamental aspects of programming from both a theory and practical perspective.  The learner can expect to be able to design and write short programs to solve straightforward and clearly defined engineering based problems.  The concept of testing programs is introduced,

This module assumes no prior knowledge of programming.

 

Learning Outcomes

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

1.

Recognise, differenciate and use the structural (code) aspects of a program in various programming solutions

2.

Recognise and select appropriate data (content) structures for various programming solutions

3.

Demonstrate proficiency in programming using input/output variables, making decisions (if/else), use of loops and functions in various programming solutions.

4.

Demonstrate proficiency with compiling, debugging and modifying simple programs of modular design using basic input/output techniques.

5.

Identify suitable test data to test written programs and to assess the outcome of results of tests executed.

Module Assessment Strategies

  1. Regular programming assignments with model answers
  2. Practical Final Exam

Indicative Syllabus

Basic concepts of programming
• Introduce concepts of programming
• Split between code (structure) and data (content)
• Brief of popular languages in use today.
• The format of a program
• Coding, compiling, executing a program

Coding concepts
By theory and in class practicals, explain the following constructs:

• The concept of variables (Input / output)
• Loops
   o Basic constructs of a loop
   o While and for loops
• Making decisions within a program
   o Concept of conditions
   o operators
   o if/else..if/else statements
• Switch / case statements
• Use of break statement
• Functions
   o Writing a function
   o Calling a function
   o Returning information from a function (by reference, by return value)
• Taking input from the keyboard
• Very basic exception handling

Testing

  • Ranges of input data to adequately test a simple program
  • Writing/executing of test cases - Inputs, Expected Output, Actual Output, pass/fail
  • Assessment of test results

Coursework & Assessment Breakdown

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

Coursework Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Assignment Programming assignments Coursework Assessment UNKNOWN 40 % Week 10 1,2,3,4,5
             
             

End of Semester / Year Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Open Book Exam Practical Programming Final Exam Final Exam UNKNOWN 60 % Week 13 1,2,3,4,5
             
             

Part Time Mode Workload


Type Location Description Hours Frequency Avg Workload
Lecture Distance Learning Suite Lecture 2 Weekly 2.00
Practical / Laboratory Distance Learning Suite Practicals 2 Weekly 2.00
Total Part Time Average Weekly Learner Contact Time 4.00 Hours

Module Resources

Non ISBN Literary Resources

This module does not recommend a specific programming language.  The concepts taught are applicable to almost all programming languages.  However, a programming language is needed to conduct the module.   Choose a widespread language with programming tools available to learner for little or no cost.

Java, using the JDK with a simple programming environment such as BlueJ is one such option.

Other Resources

Programming tools should be identified and made available to the learner at module commencement.

Additional Information

None