Introduction to Application Programming
Course Composition and Objectives
- Discuss how application development fits into the activities of professional application developers as well as the humans and organizations who use the computational artifacts they produce
- Understand, define, and apply computational thinking to human-centered domain problem solving
- Understand, define, and use elementary data types
- Write, compile, and run basic procedural programs
- Understand, define, and use basic methods to assure application quality
- Instructors Choice: Instructors may choose topics and learning objectives that meet the spirit of the course as defined here. Instructors may choose to devote more time to the learning objectives listed above or to add additional, complimentary objectives. Supplementary material and objectives should not overlap with the defined content of other courses in the curriculum
Course Description
This is a first course in application development. Applications are computer programs developed to support human activity in enterprise and other social contexts. Examples of applications might include programs to help run a business, manage personal information, or provide entertainment. The emphasis of this course is on learning to translate practical problems through domain analysis into software applications usable in a human or organizational context. It will focus on 3 the knowledge needed to create applications that use high level programming languages, combining original code with existing code libraries and application programming interfaces (APIs).
Students in this course will learn application development concepts including problem solving using computer programming; how to recognize the need for different types of data and how to use data of different types to represent an application’s information; application testing and debugging; basic computer organization; and the basics of operating systems. This is a hands-on, practical course designed for students without prior computer programming experience who will use computer languages and tools to develop applications in their later courses and future careers.