CSA 174 Fundamentals of Programming and Problem Solving (3 credits)
Typically offered during both the fall and spring semesters.
Catalog description:
An introduction to computer programming in a contemporary language. Algorithm development, refinement, and problem solving approaches. Data types and control structures. Program debugging and testing. Interactive input/output. Single and multi-dimensional arrays. Simple sorting and searching algorithms. Introduction to classes, objects, and object-oriented programming.
Prerequisite: Algebra and trigonometry.
Course Objectives:
- Describe the programming environments and the process of program translation from source code to intermediate or executable representation.
- Specify, design, and implement programs written in a contemporary programming language, currently Java, that solves the stated problem in a clean and robust fashion.
- Use techniques and tools for debugging programs and develop strategies for testing a program's correctness.
- Understand and appropriately apply primitive data types and control structures (sequence, selection, repetition).
- Incorporate console input/output into computer programs.
- Be able to use and implement class definitions in computer programs.
- Be able to design classes, methods, and data members to solve the problem effectively.
- Describe and implement fundamental algorithms in sorting and searching.
- Use one-dimensional and two-dimensional arrays.
Success Skills:
- Minimum one project assignment requiring independent learning
CSA 174 is a first-tier course in the CSA2 "Computer Programming" thematic sequence. The CSA2 thematic sequence consists of both of the following introductory computer programming courses.
Followed by one of the following courses...
CSA 174 is a course in which you learn computer programming concepts that are fundamental in nearly any computer programming language. These concepts can then be used in other courses to help you create computer applications that can be used to solve real-world problems |
CSA 174 is a first-tier course in the CSA4 "Web and Game Applications" thematic sequence. Given the prevalence of computing devices, it is important that we understand what computers do and how they do it. The web game applications thematic sequence is designed to provide students with an understanding of how computer software is created and designed and how it functions to make possible popular applications such as computer games and the World Wide Web. Courses in the sequence provide an introduction to fundamental programming concepts. These concepts are applied to create computer games and web applications. The CSA4 thematic sequence consists of one of the following introductory computer programming courses...
Followed by both of the following courses... CSA 174 is a course in which you learn computer programming concepts that are fundamental in nearly any computer programming language. These concepts can then be used in other courses to help you create computer applications that can be used to solve real-world problems. |
Learning Outcomes:
Below are the learning outcomes for this course. Miami Plan foundation courses and thematic sequence courses address some or all of the Four Principles of Liberal Education: Thinking Critically, Understanding Contexts, Engaging with Other Learners, and Reflecting and Acting. These principles are not simply additional "topics" that are covered during the course. Rather, they are perspectives and ways of reasoning that are essential to all the content of the course. Learning outcomes that address these principles are indicated in the table. Liberal Education Principals (LEP)Key: T=Thinking Critically, U=Understanding Contexts
Learning Outcomes: | LEP |
CSA174.1: To describe and use a contemporary programming language and programming environment | U |
CSA174.2: To be able to identify and eliminate errors in programs | T |
CSA174.3: To be able to specify, trace, and implement programs written in a contemporary programming language that solves a stated problem in a clean and robust fashion | T,U |
CSA 174.4: To be able to describe, trace, and implement basic algorithms | T,U |
Required Topics (approximate weeks allocated):
- Programming Languages and the Programming Environment (0.5)
- Syntax and semantics of programming languages
- Functions of a compiler
- Interpreted vs compiled code
- Computer architecture
- Languages and translation
- Data representation
- Basic Language Elements (2.0)
- Types, operators, variables, constants
- Strings
- Type conversion
- Interactive input/output
- Control Structures (3.0)
- Sequence
- Selection
- Iteration
- Testing and Debugging (1.0)
- Syntax vs. run-time errors
- Testing and debugging strategies
- Test case selection
- Use of a debugging tool
- Classes and Methods (2.5)
- Information hiding and encapsulation
- Methods
- Parameter passing
- Variable lifetime and scope
- Design (2.0)
- Methods
- Classes
- Arrays and Algorithms (3.0)
- Single and two-dimensional arrays
- Searching arrays: linear and binary
- Objects and arrays of objects
- Sorting array elements (e.g. bubble, selection or insertion)
- Examinations (1)
