EGB103 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: Semester 1 2022, Gardens Point, Internal

Unit code:EGB103
Credit points:12
Assumed Knowledge:

Nil

Anti-requisite:IFB104
Coordinator:Wayne Kelly | w.kelly@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 and you will build from these foundational skills in future units, within your major. No prior programming experience is assumed.

Learning Outcomes

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

  1. Create your own software - you will learn a programming language and how 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. Invent creative approaches to solving 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. Accessing Large External Data Sources
  10. Wrangling Raw Data
  11. Manipulating Complex Engineering Data Sets

Learning Approaches

To complement timetabled activities, you will be provided with a sequence of short (5-10 minute) on-line videos that present the core material. Each video topic will be accompanied with active learning activities that provide you with feedback on how well you have understood the material. Worksheets will include structured step-by-step exercises as well as opportunities for self-directed exploration. You can access these materials flexibly to complete your learning in this unit.

In this unit you can expect to experience the following timetabled activities:

  • The timetabled lecture sessions will complement the pre-recorded videos, recapping the important topics from the videos, giving live demonstrations, and providing an opportunity for questions and answers.
  • The practical sessions will reinforce these concepts, providing deeper knowledge via more hands-on experience.

You are expected to:

  • Watch all the videos ahead of the corresponding lecture/demo session and complete the active learning activities.
  • Complete all the worksheets and seek help from you tutor when you get stuck.

The assignments will reinforce and expand on this material in an authentic engineering context.

Feedback on Learning and Assessment

Feedback in this unit is provided in the following ways:

  • You can ask the teaching staff for advice and assistance during practical workshops.
  • You will receive formative peer and academic feedback on practical tasks during the workshops.
  • You will receive written and verbal feedback on assessment items.
  • You can request private consultation with teaching staff

Assessment

Overview

The aim of the assessment items is to build understanding and skills in programming, while illustrating the enormous practical value of programming in all engineering fields. To emphasise the practical value for Engineers, we will use real engineering data derived from sensors in P-Block and 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 semester, starting with very simple well defined exercises, reinforced through repetition until designing simple algorithms via sequence, selection and repetition becomes second nature. As the semester moves on the problems will become progressively more complex and open ended, requiring students to make more decisions themselves.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Assignment 1

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: 20
Individual/Group: Individual
Due (indicative): Week 5
Related Unit learning outcomes: 1, 4

Assessment: Assignment 2

In this task you will apply your basic programming skills to manipulate real engineering data generated by sensors in P Block. You will create a program to retrieve, load, clean, summarize and visualize this data.

This is an assignment for the purposes of an extension.

Weight: 30
Individual/Group: Individual
Due (indicative): Week 8
Related Unit learning outcomes: 1, 2, 4

Assessment: Assignment 3

In this task you will apply your basic programming skills to integrate multiple real engineering data sets (generated from sensors in P Block). This integration will involve not just simple data  manipulation, but also add value by designing and implementing new algorithms to creatively solve an engineering problem.

This is an assignment for the purposes of an extension.

Weight: 50
Individual/Group: Individual
Due (indicative): Week 13
Related Unit learning outcomes: 1, 2, 3, 4

Academic Integrity

Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.

The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.

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.

Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.

Resources

There is no single text book recommended for purchase for this unit. The unit includes a structured introduction to Python and there is a wide range of supporting resources available online for Python programming and for SQL and data science. Online resources are an essential part of modern computing and many will be introduced as they are needed during the semester.  

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.

EN01 Bachelor of Engineering (Honours)

  1. Manage projects to solve complex engineering problems, using appropriate information, engineering methods, and technologies.
    Relates to: ULO2, ULO3, Assignment 2, Assignment 3
  2. Demonstrate coherent knowledge and skills of physical, mathematical, statistical, computer, and information sciences that are fundamental to professional engineering practice.
    Relates to: ULO1, ULO4, Assignment 1, Assignment 2, Assignment 3