CMPSC 131Programming and Computation I: Fundamentals
This course introduces the fundamental concepts and processes of solving computational problems through the design, implementation, testing and evaluation of efficient and robust computer programs. The concepts include basic computational constructs found in imperative, object-oriented and functional programming languages such as iteration, conditionals, functions, recursion, and datatypes. These provide the basic building blocks found in virtually all programming languages. The processes include the stepwise refinement of a problem description into individual components that can be implemented, tested, and integrated into an effective solution. A central theme to the course is computational thinking which includes a wide range of approaches to solving problems and designing systems that draw upon concepts fundamental to computer science. Computational thinking includes thinking recursively, considering parallel processing, thinking about types and type checking, judging a program not just for correctness and efficiency but also for its esthetics, and judging a system design for its simplicity and elegance. Computational thinking is applying principles of abstraction at multiple levels to focus on important details; it is applying problem decomposition to identify small problems that can be individually solved then combined to form a solution to the original problem. Computational thinking uses program invariants to describe a system's behavior succinctly and declaratively. Computational thinking considers multiple models of computation when designing an effective solution to a problem.
Prerequisites
None listed in the catalog.
Where it sits in degree plans
Suggested plans most often put it in Year 1 · Fall (16 programs).
Required in (3)
- Artificial Intelligence Methods and Applications, B.S. (Capital)
- Artificial Intelligence Methods and Applications, B.S. (Information Sciences and Technology)
- Social Data Analytics, B.S.
One of the options in (35)
- Aerospace Engineering, B.S.
- Artificial Intelligence Engineering, B.S.
- Computer Engineering, B.S. (Engineering)
- Computer Science, B.S. (Engineering)
- Cybersecurity Analytics and Operations, B.S. (Abington)
- Cybersecurity Analytics and Operations, B.S. (Altoona)
- Cybersecurity Analytics and Operations, B.S. (Berks)
- Cybersecurity Analytics and Operations, B.S. (Capital)
- Cybersecurity Analytics and Operations, B.S. (Information Sciences and Technology)
- Cybersecurity Analytics and Operations, B.S. (University College)
- Data Sciences, B.S. (Abington)
- Data Sciences, B.S. (Engineering)
- and 23 more
Courses that list CMPSC 131 as a prerequisite (45)
- AERSP 309 Astronautics
- AERSP 311 Aerodynamics I
- AERSP 313 Aerospace Analysis
- AERSP 424 Advanced Computer Programming
- AERSP 462 Aerospace Autonomy
- AIE 355 Optimization for Machine Learning
- ASTRO 410 Computational Astrophysics
- ASTRO 415 Introduction to Astrostatistics
- ASTRO 416 Data Science Applications to Astronomy
- ASTRO 442 Astrophysical Fluid Dynamics
- CE 404 Probabilistic Modeling and Machine Learning for Civil and Environmental Engineering
- CE 405 Introduction to Artificial Intelligence for Civil, Environmental, and Water Engineering
- CMPEN 331 Computer Organization And Design
- CMPEN 415 Computing with Commercial Quantum Computers
- CMPEN 454 Fundamentals of Computer Vision
- CMPEN 455 An Introduction to Digital Image Processing
- CMPSC 132 Programming and Computation II: Data Structures
- CMPSC 205 Intermediate Computational Sciences Programming
- CMPSC 312 Computer Organization and Architecture
- CMPSC 450 Concurrent Scientific Programming
- CMPSC 451 Numerical Computations
- CMPSC 455 Introduction to Numerical Analysis I
- CYBER 262 Cyber-Defense Studio
- DS 220 Data Management for Data Sciences
- EDSGN 402 Materials and Manufacturing
- EDSGN 410 Robotics Design and Applications
- EE 200 Design Tools
- EE 314 Signals and Circuits II
- EE 316 Introduction to Embedded Microcontrollers
- EE 415 Computing with Commercial Quantum Computers
- EE 454 Fundamentals of Computer Vision
- EE 455 An Introduction to Digital Image Processing
- EE 456 Introduction to Neural Networks
- EE 486 Sustainable Energy System Integration
- EGEE 456 Introduction to Neural Networks
- ENGR 350 Computational Modeling Methods
- ESC 456 Introduction to Neural Networks
- IE 304 Introduction to Service Systems Engineering
- IST 240 Introduction to Computer Languages
- IST 242 Intermediate & Object-Oriented Application Development
- MATH 225 Mathematical Foundations for Machine Learning
- MATH 451 Numerical Computations
- MATH 452 Deep Learning Algorithms and Analysis
- MATH 455 Introduction to Numerical Analysis I
- PHYS 430 Introduction to Computational Physics