Selected topics that highlight the interdisciplinary nature of the Liberal Arts and Sciences. This seminar-style class is a key aspect of the Augustana First Year Experience. The focus and content of each course are determined by faculty interests, and vary from year to year.
Through teamwork and programming in a scripting language (such as Python or Ruby), this course introduces computational thinking, problem solving, and the fundamental ideas of computing science. Driven by building a computer application, students will use algorithms, abstraction and modelling, learning the syntax and semantics of a high-level language, investigate fundamental programming concepts and data structures, and use basic software development methods and tools. Documentation standards, object-orientated programming, and exception handling will be required in the computer application. Geographical user interfaces and event-driven programming may also be included. Prerequisite. Mathematics 30-1. Note: Credit may be obtained for only one of AUCSC 111 (2021) and AUSCI 135.
Software engineering paradigms, requirements specification, iterative software development, object-oriented design patterns, visual modelling with UML, software architecture; testing, verification and maintenance; software development environments and software engineering tools; societal implications such as the cost of failure and professional responsibilities. Prerequisite: AUCSC 112 (2021), or AUCSC 211 and AUSCI 235.
Foundational topic of calculus (including differentiation and integration of algebraic, trigonometric, exponential and logarithmic functions; Fundamental Theorem) with a focus on modelling and elementary differential equations. Prerequisite: Mathematics 30-1. Note: Credit may be obtained for only one of AUMAT 116 or 110.
An introduction to computational thinking, problem solving, and the fundamental ideas of computing. Topics include algorithms, abstraction, and modelling; the syntax and semantics of a high-level language (e.g. Python); fundamental programming concepts and data structures, including simple containers (variables, arrays, lists, strings, dictionaries); sequencing, conditionals and repetition; documentation and style; object-oriented programming; exceptions and error handling; recursion; simple algorithm analysis and run- time efficiency. Prerequisite: Mathematics 30-1. Note: Credit may be obtained for only one of AUCSC 111 (2021), AUCSC 113 and AUCSC 120 (2019).
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.