Available courses

COMP 003 — Computer Programming 2

2024-2025 — Summer

Course Learning Outcomes

  1. Apply advanced procedural programming techniques to develop solutions for computational problems using user-defined data structures, recursion, and file handling with at least 80% functional correctness based on given specifications
  2. Analyze procedural programs involving data structures, recursion, and file operations to identify logical errors and optimize performance under provided code scenarios with at least 85% accuracy
  3. Design and create complete procedural programming solutions incorporating appropriate data structures, recursion, and file-handling techniques following standard documentation guidelines with no major syntax or logical errors

Weekly Topics

Week 1: Orientation

Course orientation and introduction to the university's vision, mission, and core values.

Subtopics:

  • Discussion of Vision, Mission and Core Values of the Polytechnic University of the Philippines
  • Discussion of Outcomes-based Teaching and Learning Plan, computation of grades, classroom management, and other requirements of the course

Teaching methods: Discussion, Lecture


Week 2: Advanced Procedural Programming Review and Problem Solving

Review advanced procedural programming concepts and structured approaches to solving computational problems.

Subtopics:

  • Algorithm design and decomposition
  • Modular programming principles
  • Function parameter passing techniques
  • Code documentation standards

CLOs: CLO1, CLO2

Teaching methods: Discussion, Lecture, Workshop

Assessments:

  • Quiz: Assessment on advanced procedural programming concepts
  • Problem Set: Algorithm design exercises

Week 3: Introduction to User-Defined Data Structures

Explore the concepts and implementation of user-defined data structures.

Subtopics:

  • Structures and records
  • Nested structures
  • Data abstraction concepts
  • Applications of custom data structures

CLOs: CLO1, CLO3

Teaching methods: Laboratory, Lecture

Assessments:

  • Assignment: Structure design activity
  • Laboratory Report: Implementation of custom structures

Week 4: Arrays and Dynamic Data Structures

Develop procedural solutions using arrays and dynamically allocated data structures.

Subtopics:

  • One-dimensional and multidimensional arrays
  • Dynamic memory allocation
  • Array-based structures
  • Memory management techniques

CLOs: CLO1, CLO2

Teaching methods: Laboratory, Lecture, Workshop

Assessments:

  • Problem Set: Array and memory allocation exercises
  • Laboratory Report: Dynamic structure implementation

Week 5: Linked Data Structures and Applications

Apply linked data structures to solve computational problems.

Subtopics:

  • Singly linked lists
  • Doubly linked lists
  • Insertion and deletion operations
  • Practical applications

CLOs: CLO1, CLO3

Teaching methods: Discussion, Laboratory, Lecture

Assessments:

  • Quiz: Linked list concepts assessment
  • Laboratory Report: Linked list implementation activity

Week 6: Recursion Fundamentals

Introduce recursion as a problem-solving technique in procedural programming.

Subtopics:

  • Recursive functions
  • Base and recursive cases
  • Tracing recursive execution
  • Recursive problem solving

CLOs: CLO1, CLO2

Teaching methods: Lecture, Workshop

Assessments:

  • Problem Set: Recursive programming exercises
  • Recitation: Tracing recursive calls

Week 7: Advanced Recursion and Optimization

Analyze recursive solutions and evaluate their performance.

Subtopics:

  • Tail recursion
  • Recursive versus iterative solutions
  • Performance analysis
  • Optimization strategies

CLOs: CLO2, CLO3

Teaching methods: Case Study, Laboratory, Lecture

Assessments:

  • Case Study: Analysis of recursive algorithms
  • Laboratory Report: Recursive optimization activity

Week 8: Integrated Data Structures and Recursion Project

Apply data structures and recursion in solving complex programming problems.

Subtopics:

  • Problem analysis
  • Data structure selection
  • Recursive solution design
  • Program testing and debugging

CLOs: CLO1, CLO2, CLO3

Teaching methods: Laboratory, Project-Based, Workshop

Assessments:

  • Project: Mini-project integrating recursion and data structures
  • Presentation: Project demonstration

[EXAM] Week 9: Midterm Examination

Midterm covering weeks 2-8.

CLOs: CLO1, CLO2, CLO3

Teaching methods: Examination


Week 10: Introduction to File Handling

Explore file operations and persistent data storage techniques.

Subtopics:

  • File concepts
  • Opening and closing files
  • Reading data from files
  • Writing data to files

CLOs: CLO1, CLO3

Teaching methods: Laboratory, Lecture

Assessments:

  • Quiz: File handling concepts assessment
  • Laboratory Report: Basic file operations activity

Week 11: Structured File Processing

Implement structured storage and retrieval of data using files.

Subtopics:

  • Sequential file processing
  • Structured records in files
  • Searching file contents
  • Updating file records

CLOs: CLO1, CLO2

Teaching methods: Laboratory, Lecture, Workshop

Assessments:

  • Assignment: File processing exercises
  • Laboratory Report: Record management implementation

Week 12: Error Handling and Data Validation

Apply validation and error-handling techniques in procedural applications.

Subtopics:

  • Input validation
  • Exception and error handling
  • Defensive programming
  • Debugging techniques

CLOs: CLO1, CLO2

Teaching methods: Discussion, Laboratory, Lecture

Assessments:

  • Problem Set: Error handling scenarios
  • Recitation: Debugging discussion activity

Week 13: Program Testing and Code Optimization

Evaluate procedural programs for correctness, efficiency, and maintainability.

Subtopics:

  • Testing strategies
  • Code profiling
  • Performance optimization
  • Refactoring techniques

CLOs: CLO2, CLO3

Teaching methods: Case Study, Lecture, Workshop

Assessments:

  • Case Study: Program analysis and optimization task
  • Quiz: Testing and optimization concepts

Week 14: Documentation Standards for Procedural Programs

Develop comprehensive documentation for procedural software projects.

Subtopics:

  • Code commenting standards
  • Technical documentation
  • User documentation
  • Documentation best practices

CLOs: CLO3

Teaching methods: Lecture, Seminar, Workshop

Assessments:

  • Assignment: Preparation of program documentation
  • Reflection Paper: Importance of software documentation

Week 15: Capstone Procedural Programming Project Planning

Plan and design a complete procedural programming solution.

Subtopics:

  • Project requirements analysis
  • System design
  • Selection of data structures
  • Project planning documentation

CLOs: CLO2, CLO3

Teaching methods: Discussion, Project-Based

Assessments:

  • Project: Project proposal submission
  • Presentation: Project plan presentation

Week 16: Capstone Project Development

Develop a complete procedural programming solution using course concepts.

Subtopics:

  • Program implementation
  • Integration of data structures
  • File handling implementation
  • Testing and debugging

CLOs: CLO1, CLO3

Teaching methods: Laboratory, Project-Based

Assessments:

  • Project: Project development milestone
  • Laboratory Report: Implementation progress report

Week 17: Capstone Project Presentation and Review

Present, evaluate, and refine procedural programming projects.

Subtopics:

  • Project presentation
  • Peer review
  • Performance evaluation
  • Final project refinement

CLOs: CLO1, CLO2, CLO3

Teaching methods: Discussion, Project-Based, Seminar

Assessments:

  • Presentation: Final project presentation
  • Project: Submission of completed project

[EXAM] Week 18: Final Examination

Final examination covering all topics.

CLOs: CLO1, CLO2, CLO3

Teaching methods: Examination