| 
                            FYE Learning Outcomes by Course
                           
                              
                                 
                                 
                                    
                                       | This course is an introductory computing principles course. Instruction centers on
                                             an overview of the history, scope, and impact of computing as well as critical, algorithmic
                                             and computational thinking on problem decomposition and fundamental programming concepts. Students who complete this course successfully will be able to: 
                                             
                                             Synthesize how software has influenced innovations in other fields and helped people,
                                                organizations, and society to solve problems.Use computational thinking to ask questions and find different ways to solve problems.Design a solution to a problem as an algorithm and convert the algorithm into a procedural
                                                program.Describe the differences between computing disciplines and identify possible job opportunities
                                                in the computing field. | 
                                 
                                 
                                    
                                       | This course provides an introduction to computing with a focus on programming. Instruction
                                             centers on an overview of programming, problem-solving, and algorithm development.
                                             Particular topics include object-oriented design/programming, primitive data types,
                                             arithmetic and logical operators, selection and repetition structures, interactive
                                             user input, exception handling, using and designing basic classes, single-dimensional
                                             data structures with searching and sorting, and arrays. Programming assignments focus
                                             on techniques of good programming style including proper documentation. The student
                                             is taught to efficiently design, code, and debug problem solutions and the relationship
                                             between correct code and security. Students who complete this course successfully will be able to: 
                                             
                                             Accurately demonstrate the use of primitive data types and arithmetic expressions
                                                in programs.Apply basic programming structures in algorithmic solutions, including logical expressions,
                                                selection, and repetition.Solve programming problems that include 1D and 2D array creation, handling, searching,
                                                and sorting.Read and interpret simple programs written in multiple programming languages and understand
                                                what these programs do.Define methods and classes in program solutions. | 
                                 
                                 
                                    
                                       | Students who complete this course successfully will be able to: 
                                             
                                             Demonstrate the knowledge of the basic syntax of a specific programming language.Follow specified style guidelines in writing programs, and understand how the guidelines
                                                enhance readability and promote correctness in programs.Compile, debug, run, and test programs.Use primitive data types, data structures, and arithmetic expressions in programs.Apply selection and repetition structures in program solutions.Define and use methods and classes in program solutions.Create programming solutions, which include 1D and 2D array handling, searching, and
                                                sorting. | 
                                 
                                 
                                    
                                       | The second course in computing provides coverage of more advanced topics of object-oriented
                                             programming. This includes the use of static variables and classes, non-linear data
                                             structures, inheritance and polymorphism, file input/output, exception handling, recursion,
                                             and parameterized types. Elementary data structures (linked lists, stacks, and queues)
                                             are introduced to solve application problems. Graphical user interfaces, parallel
                                             programming, database programming, and event-driven programming are also introduced.
                                             Students will use good programming style including proper documentation. Students who complete this course successfully will be able to: 
                                             
                                             Demonstrate more advanced skills in programming, including the ability to handle multi-
                                                dimensional arraysDemonstrate file handling techniques and exception code.Recognize the difference between iterative and recursive approaches.Demonstrate the ability to use linked lists, stacks, and queues in problem solving.Compare "program driven" and "event-driven" approaches to user interaction, including
                                                the relationship between event-driven programs and Graphical User InterfacesDiscuss principles of concurrency and parallelism. | 
                                 
                                 
                                    
                                       | Students who complete this course successfully will be able to: 
                                             
                                             Demonstrate more advanced skills in programming, including the ability to handle multi-dimensional
                                                arraysDesign and use classes, including inherited classesDemonstrate file handling techniques and exception code in a programRecognize the difference between iterative and recursive approaches and use them correctly
                                                in a programDemonstrate the ability to use linked lists, stacks, and queues in problem solutionsUnderstand "program driven" and "event-driven" approaches to user interaction, including
                                                the relationship between event-driven programs and Graphical User InterfacesApply computing concepts in the domains of parallelism and databases |  |