ICS 141 Problem Solving with Programming
Structure, design, and implementation of object-oriented computer programs. Topics include sequential structures, selection structures, repetition structures, recursion, quadratic sorting algorithms, exceptions, objects, and classes. Emphasis on methods, parameter passing, arrays, and arrays of objects. Exploration of problem-solving and algorithm-design techniques using pseudocode and Unified Modeling Language (UML). Design of good test cases and debugging techniques are highlighted. Programming projects involving multiple classes.
First day attendance is mandatory.
Co-Requisite: MATH 215 or have taken the course prior. Note: This class uses the Java language. Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.
Prerequisites
- ICS 140: Computational Thinking with Programming and MATH 115: College Algebra
- or ICS 140: Computational Thinking with Programming and MATH 120: Precalculus
- or ICS 140: Computational Thinking with Programming and STAT 201: Statistics I
- or ICS 265: C Programming and MATH 115: College Algebra
- or ICS 265: C Programming and MATH 120: Precalculus
- or ICS 265: C Programming and STAT 201: Statistics I
- or ICS 140: Computational Thinking with Programming and MATH 215: Discrete Mathematics
Special information
Co-Requisite: MATH 215 or have taken the course prior. Note: This class uses the Java language. Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.
4 Undergraduate credits
Effective August 17, 2021 to present
Learning outcomes
General
- Design and implement object-oriented applications based on problem statements.
- Apply consistent documentation and program style standards that contribute to the readability and maintainability of software.
- Develop, design, analyze, and implement logic within a program that solves a problem with a finite number of operations.
- Design and develop programs that implement fundamental logic structures of sequence, selection, and repetition.
- Write programs that use file I/O to provide persistence across multiple executions.
- Develop proficiency in specification and use of appropriate primitive data types and their aggregation into simple linear data structures.
- Decompose problems into clearly defined sub-problems based on program requirements.
- Implement algorithms utilizing recursive structures.
- Create appropriate test cases and use debugging skills to verify correctness of output.
Summer 2024
Section | Title | Instructor | books | eservices |
---|---|---|---|---|
01 | Problem Solving with Programming | Zawed, Abrar | Books for ICS-141-01 Summer 2024 | Course details for ICS-141-01 Summer 2024 |
02 | Problem Solving with Programming | Thao, Cheng | Books for ICS-141-02 Summer 2024 | Course details for ICS-141-02 Summer 2024 |
Fall 2024
Section | Title | Instructor | books | eservices |
---|---|---|---|---|
01 | Problem Solving with Programming | Zawed, Abrar | Books for ICS-141-01 Fall 2024 | Course details for ICS-141-01 Fall 2024 |
02 | Problem Solving with Programming | Zawed, Abrar | Books for ICS-141-02 Fall 2024 | Course details for ICS-141-02 Fall 2024 |
03 | Problem Solving with Programming | Thao, Cheng | Books for ICS-141-03 Fall 2024 | Course details for ICS-141-03 Fall 2024 |
04 | Problem Solving with Programming | Thao, Cheng | Books for ICS-141-04 Fall 2024 | Course details for ICS-141-04 Fall 2024 |
Spring 2025
Section | Title | Instructor | books | eservices |
---|---|---|---|---|
01 | Problem Solving with Programming | Zawed, Abrar | Books for ICS-141-01 Spring 2025 | Course details for ICS-141-01 Spring 2025 |
02 | Problem Solving with Programming | Thao, Cheng | Books for ICS-141-02 Spring 2025 | Course details for ICS-141-02 Spring 2025 |
03 | Problem Solving with Programming | Vue, Kenji M | Books for ICS-141-03 Spring 2025 | Course details for ICS-141-03 Spring 2025 |