IFQ714 Introduction to JavaScript Programming


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: Session 1 2024, QUT Online, Online

Unit code:IFQ714
Credit points:12
Equivalent:IFN714, IFZ714
Assumed Knowledge:

There is no assumed knowledge for this unit. 

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

JavaScript is the most important programming language in web computing and the basis of most modern web development. This unit provides a hands-on introduction to JavaScript programming for students who have no significant prior coding experience or previous knowledge of the Web. We will begin by teaching you to program , introducing fundamental concepts such as expressions, assignment, functions, choice and iteration. The approach is very practical - you will write code to solve problems throughout the unit, culminating in a final project which will allow you to demonstrate your proficiency in all aspects of the language. Learning JavaScript first means that you can transition rapidly to more advanced material in later units where you will use React (https://reactjs.org/ ) for front end development, and Node (https://nodejs.org/) for back end development. 

 

Learning Outcomes

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

  1. Demonstrate knowledge of programming in a modern programming language (maps to SALO1 and CLO1)
  2. Identify and employ modern software libraries to solve web related information processing problems (maps to SALO2 and CLO2)
  3. Apply design and problem solving skills to develop web-related software components (maps to SALO3 and CLO3)
  4. Solve intermediate level web development problems in a modern environment through self-directed professional activity (maps to SALO4 and CLO4)

Content

The unit provides a technical and web-focused introduction to programming using JavaScript. We cover the foundations of modern programming and the environment of software development. The content of this unit will include: 

  • Writing software using a modern IDE such as VS Code (https://code.visualstudio.com/download)
  • Working with source control (Git) and software repositories 
  • Learning the foundations of programming: 
    • Expressions, statements and sequences of statements 
    • Iteration (loops - especially for and while loops) and control structures (especially if statements) 
    • Functions and program modules 
    • Important data types such as strings, arrays and records.
  • Applying these ideas to web related problems 

Learning Approaches

This unit is designed for asynchronous online study, with activities including numerous short videos, podcasts and exercises carefully chosen to reinforce key skills and concepts. Students will have the opportunity to participate in online discussions with peers and teaching staff. 

We emphasise a hands-on approach through structured practical exercises. We will begin simply, with problems that reinforce the basics of the language and the fundamental data types and control structures. Over the course of the unit the tasks will become more complex, and align more closely with a web development context. These will lead toward two focused assessment tasks, one assessing your understanding of programming and JavaScript, and another requiring a significantly more complex programming task, which we will require you to demonstrate and submit for testing.  In each case these tasks will come as a pair, with a preliminary formative assessment allowing you to get important feedback prior to submitting the task for final assessment. 

Feedback on Learning and Assessment

You will receive automated feedback on some exercises and assessments, and written feedback on assignment task submissions. You may seek additional feedback from the teaching staff in the unit. 

Assessment

Overview

This unit is structured so that you can master new material through practical exercises prior to attempting the assessment tasks. The assessment tasks for the unit are organised in pairs - you will undertake a formative assessment and receive feedback prior to undertaking the assessments needed to pass the unit.

The grading schema used in QUT Bootcamps is satisfactory/unsatisfactory.

Unit Grading Scheme

S (Satisfactory) / U (Unsatisfactory)

Assessment Tasks

Assessment: Programming Exercises (Formative and Summative)

Intermediate level programming exercises. Students will be given an opportunity to submit a set of exercises in week 4 for formative assessment. This will be followed by the S/US summative assessment due in Week 6. These latter exercises will build on those submitted earlier. 

The grading schema used in QUT Bootcamps is satisfactory/unsatisfactory. Students are provided with the opportunity to re-submit Assessment 1 if they receive a fail grade as explained in the special conditions of assessment in each unit learning site.

This assignment is eligible for the 48-hour late submission period and assignment extensions. 

Individual/Group: Individual
Due (indicative): Week 6
Formative Assessment due week 4, Summative assessment due week 6
Related Unit learning outcomes: 1, 2

Assessment: Programming Project

A web-related software development project. Students will be given an opportunity to submit some part of the project in week 8 for formative assessment. This will be followed by the S/US summative assessment due in Week 10, which will rely on the code submitted in week 8. 

The grading schema used in QUT Bootcamps is satisfactory/unsatisfactory.

This assignment is eligible for the 48-hour late submission period and assignment extensions. 

Individual/Group: Individual
Due (indicative): Week 10
Formative Assessment due week 8, Summative assessment due week 10
Related Unit learning outcomes: 1, 2, 3, 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

This unit is self-contained but the online text Eloquent JavaScript may be useful. 

Resource Materials

Reference book(s)

Marijn Haverbeek. Eloquent JavaScript: A Modern introduction to Programming 

https://eloquentjavascript.net/

Risk Assessment Statement

No out of the ordinary risks are associated with this unit.

Course Learning Outcomes

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

IQ70 Graduate Certificate in Information Technology Practice (Study Area A)

  1. Demonstrate advanced, role-specific Information Technology (IT) discipline knowledge
    Relates to: ULO1, Programming Exercises (Formative and Summative), Programming Project
  2. Identify and employ appropriate industry relevant methods and approaches to address IT problems
    Relates to: ULO2, Programming Exercises (Formative and Summative), Programming Project
  3. Apply design, problem solving and critical thinking skills to develop appropriate IT solutions
    Relates to: ULO3, Programming Project
  4. Solve complex IT problems in both self-directed and collaborative contexts
    Relates to: ULO4, Programming Project