Programming Logic

  1. Introduction to Computers and Programming Logic: About computer systems, how computer systems work, how data is stored and manipulated and the reason why programming uses a high-level language., The Program Development Life Cycle, Pseudocode and Flowchart to develop the logic of programming of problem solution., Programming and user environments, Evolution of programming Models, Criteria of Good Programming

  2. Modules: How to design a program, Output, Input and Variables, Variable Assignments and Calculations, Variable Declaration and Data types, Using Constants, Arithmetic Operations, Modularizing a Program and the advantages of Modularization, Modules, Defining and Calling a Modules, Local Variables, Passing Arguments to Modules, Global Variables and Global Constants, Creating a Hierarchy Charts, Features of Good Program Design, How to hand tracing a Program, How to make Program Documentations, Designing a first program

  3. Structures: The advantages of Unstructured Spaghetti Code, Three Basic Structures, Using a priming Input to Structure a Program, Reasons to use Structure, Recognizing structure, Structuring and Modularizing Unstructured Logic

  4. Making Decisions: Boolean Expression and Decision structures, Dual Alternative Decision Structures, Relational Comparison Operators Comparing Strings, Logical Operators AND, OR, NOT, Making Selection within Ranges, Nested Decision Structures, The Case Structure, Boolean Variables

  5. Repetition Structures: Introduction to repetition structures, Condition – Controlled Loops: While, Do- While and Do-Until, Count-Controlled Loops and the FOR Statement, Calculating a Running Total, Nested Loop, Avoiding common Loop mistakes, Common Loop Applications, Comparing, selections and Loop

  6. Array: Storing Data in Arrays, How Array can replace Nested Decisions, Constants with Arrays, Searching an Array for an exact match, Using Parallel Arrays, Multidimensional Array, Searching an Array for a Range Match, Remaining within Array Bounds, Using a for Loop to Process an Array

  7. File Handling and Exceptions: Understanding Computer Files, Understanding the Data Hierarchy, File Operations, Control Break Logic, Merging Sequential Files, Master Transaction File Processing, Random Access Files, Introduction to JSON, Handling Exception, Explicitly Raising an Exception, Introduction to Data Science : Working with CSV File ( Python Standard Library CSV, Reading CSV into Panda DataFrames

  8. Advanced Data Handling: Searching and Sorting Data, Bubble Sort Algorithm, Sorting Multifield Records, Insertion Sort Algorithm, Big O, Using Index Files and Link list, Text Processing

  9. Advanced Modularization: Parts of Methods: using methods with no parameters, methods with parameters, methods that return values, Passing Array to Methods, overloading methods, predefined methods, Method design issues (hiding, cohesion, coupling), Recursion

  10. Object Oriented Programming: Procedural and OOP, Classes (definition, Public, Private Classes, Instance Methods, Using Objects), Constructors, Destructors, Composition, Inheritances, GUI Objects, Exception Handling

  11. OOP and UML Modeling: Understanding UML, Use Case, UML Class and Object Diagrams, Other UML Diagrams, When to Use UML and Which UML Diagrams to use, Advantages and Disadvantages OOP

  12. Scikit Learn: Explore programming with Scikit for several Case Studies., Introduction the application of Scikit Learn to solve problems, Scikit Learn, Linear Model with Scikit Learn, Linear Model – Logistic Regression

  13. Scikit Learn: Explore programming with Scikit for several Case Studies, Case Study: Time Series and Simple Linear Regression with Scikit Learn

  14. Scikit Learn: Explore programming with Scikit for several Case Studies, Case Study: Multiple Linear Regression with Scikit Learn


Learning Experiences

Students learning experiences are explored by assigning the following activities:

  • Using pseudocode and flowchart to depict the logics of programming to solve problems in case studies/ exercises and implement the solution using python programming language.

  • The case studies / exercises explore modules (modularity), decision structures and Boolean Logic, Repetition Structures, Functions, Input validation, Arrays, sorting and searching arrays, Files, Menu-driven programs, Recursion, object-oriented programming and UML, event driven programming and GUI applications.

  • The case studies / exercises exploring tools to develop computer programming as an introduction to Machine Learning emphasizing in the implementation of Scikit Learn to solve real world problems.

Programming Language is focused on Python and Its libraries.


Learning Outcomes:

Students can analyze and design the logic of real-world problems and select the suitable technologies to implement the design for ICT- based business environments.

COURSE LEARNING OUTCOME (CLO)

  1. Students understand computer systems, simple programing logic, program development life cycle, methods to express the logic of programming such as Pseudocode statements and Flowchart Symbols and other tools, programming environments, Evolution of Programming Models and how to develop the logic of systematic computer programs to solve problems.

  2. Students can use programming language to develop logic and systematic computer programs/ software to solve real world problems

  3. Students can expose their computer programs for solving a problem in logic and systematic written and oral communication or reports.


References:

  1. Farrell, J., 2015, Programming Logic and Design, Comprehensive (8th edition), Cengage Learning, USA

  2. Gaddis, T., 2019, Programming Logic and Design (5th edition) , Pearson Education, NY.

  3. Deitel ,J.P. & Deitel J. H., 2020, Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and The Cloud (1st edition), Pearson Education. NY.