ISTA 350: Programming for Informatics Applications

This course will provide an introduction to informatics application programming using the python programming language and applying statistical concepts from a first semester statistics course. A key goal of this course is to prepare students for upper division ISTA courses by expanding on the skills gained in ISTA 116 and 130 but will be broadly applicable to any informatics discipline.  Throughout the semester students will be faced with information application problems drawn from several different disciplines in order to expand their breadth of experience while simultaneously increasing their depth of knowledge of scientific and informatics programming methods.  Students will practice problem decomposition and abstraction, gaining experience in identifying commonly occurring information processing issues and in applying well-known solutions.  In addition, students will design their own algorithmic solutions to problems and will learn how to effectively compare different solutions, evaluating efficiency in order to choose the best solution for a given problem. Periodic code reviews will be held in order to expose students to a range of different solution methods, which will aid them in discovering weaknesses in their own work and will improve their ability to communicate with others on technical topics.  The course will include an introduction to the python scientific computing libraries and other statistical packages.  Additional course topics will include the use of version control systems, software profiling, general software engineering practices and basic shell scripting.

Course Credits
4