Rosanna Heise, BSc (honors), MSc

ATS Associate Lecturer, Augustana - Sciences

Contact

ATS Associate Lecturer, Augustana - Sciences
Email
rosanna@ualberta.ca
Phone
(780) 679-1674
Address
Augustana Campus Classroom Building
4901-46 Ave
Camrose AB
T4V 2R3

Email
rosanna@ualberta.ca

Overview

Area of Study / Keywords

Software engineering


About

In order to teach, I must know something about you, the student. Together, with both of us working hard, we will learn many new things in Computing Science and Mathematics, and about getting through life well.

Special moments:  

  • When a student realizes something in computing is no longer "magic".
  • When a student conquers a fear (e.g. of Math or of Computing or of Speaking in front of other students).
  • Spending time with my family or my friends, hiking, biking, walking, being in nature.
  • Hiking the Jasper Skyline Trail, July 2020



Research

  • Making Computing accessible. 
  • Recently designed a Software Engineering course at Augustana that teaches the age-old principles while keeping students motivated by developing an app for a mobile phone.
  • Recently designed a First Year Seminar course to use robotics in a context that introduces students to life at university.
  • Recently designed new labs for our introduction to computing course in Python:  smalltalk turtle, graphical interface game, processing Excel, and web scraping.

BOOK
Heise, Rosanna.  Practices in Data Structures and Algorithms with Java. 2023. Go to Book


Teaching

Past Courses:

AUCSC 110 Introduction to Computing Science (html, Java)

AUCSC 111 Introduction to Computational Thinking (in Python)

AUCSC 113 Introduction to Computational Thinking (in Python)

AUCSC 112 Data Structures and Algorithms (in Java)

AUCSC 220 Introduction to Software Engineering (in Java/Android app)

AUCSC 250 Computer Organization & Architecture (machine & assembly languages; circuit design)

AUCSC 310 Algorithm Analysis & Design (in Java)

AUCSC 320 Software Engineering II

AUCSC 350 Computer Organization & Architecture II

AUCSC 370 Programming Languages (focus on C, Scheme, Prolog)

AUCSC 395 Topics in Computing Science

AUCSC 401 Professional Practicum I

AUCSC 402 Professional Practicum II

AUCSL 480 Directed Study Community Service Learning

AUIDS 101 First Year Seminar (Rise of the Robots)

AUMAT 101 Preparation for Calculus

AUMAT 107 Higher Arithmetic

AUMAT 110 Elementary Calculus I

AUMAT 116 Calculus Concepts and Modeling

AUSCI 135 Practical Introduction to Computational Thinking (in Python)

AUSCI 235 Practices in Data Structures and Algorithms (in Java)


Courses

AUCSC 112 - Data Structures and Algorithms

An introduction to object-oriented design and programming in Java; algorithm analysis; data structures and container classes including arrays, lists, arraylists, stacks, queues, user-defined structures and an introduction to trees, along with associated algorithms such as insertion, removal, sorting and retrieval; introduction to recursion. Prerequisite: AUCSC 111, AUCSC 113 (2023) or AUSCI 135. Corequisites: AUMAT 116 and 120. Note: Credit may be obtained for only one of AUCSC 112 and AUCSC 211, and for only one of AUCSC 112 and AUSCI 235.


AUCSC 250 - Computer Organization and Architecture I

Introduction to computer systems as multilevel machines. Topics include data representation; the organization and execution cycle of Von Neumann machines; assembly-level programming, addressing modes, control flow, procedure calls, input/output, interrupts, caching; finite state machines, Boolean algebra, logic gates, and digital circuits. Prerequisite: AUCSC 112, or AUCSC 211 and AUSCI 235.


AUCSC 320 - Software Engineering II

Detailed study of software development processes, life cycles, and tools, especially object-oriented methods. Team work is emphasized in the completion of a large software project, from problem definition through to maintenance. Prerequisite: AUCSC 220.


AUCSC 370 - Programming Languages

Principles of language design, abstraction, syntax and parsing, operational semantics (declaration, allocation, evaluation, run-time environment, typing, activation), and programming language paradigms (procedural, object- oriented, functional, logic programming). Prerequisites: AUCSC 112 (2021), or AUCSC 211 and AUSCI 235. Corequisite: AUCSC 250 and AUMAT 250.


Browse more courses taught by Rosanna Heise