CSCD210 — Programming Principles I
Covers information representation, computer algorithms, hardware organization and program design. Students write, run, debug, analyze and evaluate programs. Topics include data types, number systems, file I/O, control structures, methods, sorting and searching algorithms.
Learning Objectives & Matches
Design and implement algorithms to solve computational problems using structured programming techniques
Develop computational methods for solving problems that occur in areas of science and engineering or that come from applications in business or industry.
Analyze problems to develop solutions involving computer hardware and software.
Conduct logical analyses of business, scientific, engineering, and other technical problems, formulating mathematical models of problems for solution by computers.
Specify manipulative or computational methods to be applied to models.
Formulate mathematical or simulation models of problems, relating constants and variables, restrictions, alternatives, conflicting objectives, and their numerical parameters.
Design computers and the software that runs them.
Analyze information processing or computation needs and plan and design computer systems, using techniques such as structured analysis, data modeling, and information engineering.
Develop and implement solutions for network problems.
Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcomes and consequences of design.
Propose solutions in engineering, the sciences, and other fields using mathematical theories and techniques.
Write, test, and debug computer programs using control structures including loops, conditionals, and branching
Implement controls to provide security for operating systems, software, and data.
Develop efficient and effective system controllers.
Direct the analysis, development, and operation of complete computer systems.
Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer.
Define the goals of the system and devise flow charts and diagrams describing logical operational steps of programs.
Train users on the use and function of computer programs.
Develop system interaction or sequence diagrams.
Develop system interaction or sequence diagrams.
Write new functions or applications in programming languages to conduct analyses.
Select programming languages, design tools, or applications.
Develop and implement methods and functions to modularize and organize program code
Implement sorting and searching algorithms to process and organize data efficiently
Develop or apply data mining and machine learning algorithms.
Develop or implement data analysis algorithms.
Create searchable indices for Web page content.
Perform computations and apply methods of numerical analysis to data.
Recommend and implement performance improvements.
Read data from files and write program output to files for data persistence and processing