COMP 003 — Computer Programming 2
2024-2025 — Summer
Course Learning Outcomes
- 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
- 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
- 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
- Teacher: Angelo Pera