EGD103 Computing and Data for Engineers


To view more information for this unit, select Unit Outline from the list below. Please note the teaching period for which the Unit Outline is relevant.


Unit Outline: College 1 2024, Kelvin Grove, Internal

Unit code:EGD103
Credit points:12
Equivalent:EGB103
Anti-requisite:ITD104, IFB104
Coordinator:David Rovere | d.rovere@qut.edu.au
Disclaimer - Offer of some units is subject to viability, and information in these Unit Outlines is subject to change prior to commencement of the teaching period.

Overview

Professional engineers spend much of their working lives using computing tools to support design and problem solving. In this unit, you will become proficient in designing and implementing simple algorithms to create software for solving engineering problems. As a professional engineer having computing skills are key to automating tedious tasks and creatively constructing innovative processes that go beyond off-the-shelf software solutions. With the ubiquitous nature of large data sets, whether that be about transport systems, building energy use or chemical processes, professional engineers are often required to use computing as a key tool within engineering design methods. This unit is an introductory unit providing you with foundational skills. No prior programming experience is assumed.

Learning Outcomes

On successful completion of this unit you will be able to:

  1. Create your own software using the programming language taught in the unit demonstrating your ability to design and implement simple algorithms.
  2. Manipulate engineering data flexibly and efficiently by creating your own scripts and simple programs to handle the specific tasks.
  3. Apply creative approaches to solve engineering problems by creating your own software.
  4. Ensure software is correct, clear and maintainable by applying introductory level software development principles and processes.

Content

  1. Python Programming
  2. Variables and Expressions
  3. Sequence, Selection and Iteration
  4. Data Structures
  5. Program Structure and Code Reuse
  6. Software Development and Testing Processes
  7. Creating Clear and Maintainable Software
  8. Ensuring Program Correctness
  9. Manipulating and Visualising Complex Engineering Data Sets

Learning Approaches

This unit takes a blended approach to learning and teaching. You will be provided with both eContent and timetabled activities. eContent will be clearly identified on your course site for you to engage with on a weekly basis before attending classes. eContent includes a combination of videos, readings, and/or exercises designed to enhance your learning experience.

During timetabled activities (for example: workshops, tutorials, practicals), the unit coordinator and/or your tutor will further explore content and you will be provided with opportunities to develop your understanding in a collaborative learning environment.

After your weekly classes, you should continue to engage with unit resources to ensure you consolidate your understanding of unit content. Teaching team members will also be available for consultations to assist you with your learning journey (further details provided on your course site).

Feedback on Learning and Assessment

During tutorials and practical classes, you will share your formative ideas around practical tasks and receive feedback from tutors. You are encouraged to view your tutorial group as a learning community and to share and discuss challenges and strategies for learning. Each assessment submission will be graded against criteria and standards which will be shared with you at the beginning of teaching period through Assessment Task Descriptions and Marking Rubrics. Marked assessment will include feedback from markers against the criteria.

Assessment

Overview

Assessment in this unit aims is to build understanding and skills in programming, while illustrating the vast practical value of programming in all engineering fields. To emphasise the practical value for engineers, this unit will address authentic problems related to multiple fields of engineering. Emphasis will be given to increasing productivity by flexibly and efficiently manipulating data but will expand to show how creating algorithmic solutions can lead to creative and innovative approaches to engineering problems. 

No prior programming experience is assumed. Basic programming skills will be developed progressively throughout the teaching period starting with very simple well defined exercises, reinforced through repetition until designing simple algorithms via sequence, selection and repetition becomes second nature. Problems will become progressively more complex and open ended, requiring you to make more decisions for yourself.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Programming exercises

This task will consist of a number of small programming exercises which cover the fundamentals of Python programming. Each exercise will examine a specific aspect of programming with clear instructions limiting the task to some 30-50 lines of code. This task will provide you with early feedback and will help ensure that you are prepared for the more complex assessment tasks to follow.

This is an assignment for the purposes of an extension.

Weight: 30
Individual/Group: Individual
Due (indicative): Mid teaching period
Related Unit learning outcomes: 1, 4

Assessment: Data manipulation and integration

In this task, you will apply your basic programming skills to manipulate real engineering data. You will create a program to retrieve, load, clean, summarize and visualize this data. You will also be designing and implementing new algorithms to creatively solve an engineering problem. 

This is an assignment for the purposes of an extension.

Weight: 30
Individual/Group: Individual
Due (indicative): Late teaching period
Related Unit learning outcomes: 1, 2, 3, 4

Assessment: Final exam

The final examination will assess your knowledge and understanding of the concepts addressed throughout the semester. You will be expected to solve small programming tasks and data processing tasks.

 

Weight: 40
Individual/Group: Individual
Due (indicative): Final exam block
Related Unit learning outcomes: 1, 2, 4

Academic Integrity

Students are expected to engage in learning and assessment at QUT with honesty, transparency and fairness. Maintaining academic integrity means upholding these principles and demonstrating valuable professional capabilities based on ethical foundations.

Failure to maintain academic integrity can take many forms. It includes cheating in examinations, plagiarism, self-plagiarism, collusion, and submitting an assessment item completed by another person (e.g. contract cheating). It can also include providing your assessment to another entity, such as to a person or website.

You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.

Further details of QUT’s approach to academic integrity are outlined in the Academic integrity policy and the Student Code of Conduct. Breaching QUT’s Academic integrity policy is regarded as student misconduct and can lead to the imposition of penalties ranging from a grade reduction to exclusion from QUT.

Resources

The unit includes a structured introduction to Python and there is a wide range of supporting resources available online for Python programming and data science. Online resources are an essential part of modern computing and many will be introduced as they are needed during the teaching period. 

Risk Assessment Statement

There are no unusual health or safety risks associated with this unit.

Course Learning Outcomes

This unit is designed to support your development of the following course/study area learning outcomes.

EN02 Diploma in Engineering

  1. Manage projects to solve complex engineering problems, using appropriate information, engineering methods, and technologies.
    Relates to: ULO2, ULO3, ULO4, Data manipulation and integration, Final exam
  2. Demonstrate foundational knowledge and skills of physical, mathematical, statistical, computer, and information sciences that are fundamental to professional engineering practice.
    Relates to: ULO1, Programming exercises, Data manipulation and integration, Final exam