Minor in Software Applications Development
Technology has become ubiquitous. Children from a very young age are already exposed to technology by their digital immigrant parents, giving rise to a generation of true digital natives. Central to this adoption of technology are software applications built to harness these technological innovations. Without these applications, these innovations would not have seen the same widespread adoption, restricting their use to specialists who know how to operate them.
In this minor offering, students will be exposed to various skills and practices in software application development, including computational thinking, design thinking, and information management. Students would also learn how to conceptualize and develop applications, primarily for the web, that could benefit themselves or others in the same field of interest as them. Finally, students would also learn about the ethics concerns surrounding applications development, including ethical practices. Upon completion of this minor offering, students would be able to create simple web and mobile applications. Students would also be equipped with the proper mindset to adapt to new emerging technologies, and would be ready to learn how to develop applications for these.
Program Outcomes
By the end of the program, learners will be able to:
- Conceptualize software applications for web, mobile or emergent technologies
- Implement software applications subscribing to the Object Oriented Programming paradigm implemented using the Java programming language
- Understand and act upon ethical practices in the development of software applications
Recommended Prerequisites
(Note that these are not required prerequisites; taking these courses, however, could help prepare you for the requirements of this minor.)
- Computational Thinking
- Basic Programming
- Basic Computer Concepts
Course List
Computational Thinking and Basic Python Scripting (IECMPTK) | 3 units |
Design Thinking (ISDESTH) | 3 units |
Introduction to Information Management (CCINFOM) | 3 units |
Developing Web Applications (CCAPDEV) | 3 units |
Course Details
Computational Thinking and Basic Python Scripting (IECMPTK)
It is recommended that this course is taken at the beginning of the minor.
Computational Thinking is thinking like a Computer Scientist. It is a problem solving mindset that takes advantage of the computational power of a computer (that could either be a human or a machine) to create solutions that may be automated in the form of a computer application. Basic Python is used as the language of expression for automating solutions, and prepares students for future courses in the minor, as Python is the language used by popular artificial intelligence and machine learning tools. At the end of the course, students would be able to write Python scripts and make use of existing Python libraries to solve computing problems. Students would also be able to maintain Jupyter notebooks as a way to take notes and sandbox Python programs.
By the end of the course, learners should be able to:
- Explain and interrelate the computational thinking concepts and skills, which include problem decomposition, pattern recognition and abstraction, algorithmic thinking, and solution evaluation
- Solve practical real-world problems using the computational thinking concepts and skills
- Develop Python programs that automate the execution of solutions
- Evaluate the correctness of the proposed solution to a problem and its Python implementation
Note: Students who took the Computational Thinking and Python Coding subject in their Senior High School may have the subject credited as the Computational Thinking and Basic Python Scripting Course of this Minor Program. If they qualify for crediting, the student may take Mobile Applications Development (MOBDEVE) instead, which they will take at the end of the Minor program.
Design Thinking (ISDESTH)
It is recommended that this course is taken before Developing Web Applications, and may be taken simultaneous with Information Management.
This course involves the development of skills in innovative thinking and strategic problem solving with the goal of addressing customer needs. With regard to creating ICT solutions, such as business applications and information systems, this design thinking course provides a systematic approach to new product development, covering human-centered processes of ideation, prototyping, and testing. Additionally, contemporary tools and methods that are used in design thinking will also be tackled.
By the end of the course, learners should be able to:
- Understand the design thinking framework and its principles
- Apply the design thinking framework, processes, techniques, and strategies in identifying problems and understanding customer/user requirements
- Apply the design thinking framework, processes, techniques, and strategies in crafting innovative ICT solutions for identified problems and customer/user requirements
- Develop, present, and test a prototype of the proposed ICT solution
Introduction to Information Management (CCINFOM)
It is recommended that this course is taken before Developing Web Applications, and may be taken simultaneous with Design Thinking.
This course provides the students with the knowledge and skills needed to plan, analyze, design, and use databases. With formal tools and foundation concepts, students are equipped with basic data management theories and principles to better understand how to build and use databases for various purposes, and to analyze data to support organizational decision-making activities. The course also tackles the identification of organizational information requirements, creation of data models, conversion of conceptual models into relational data models, and the application of normalization techniques using the Entity-Relationship (ER) model. Furthermore, technical skills on relational database design, the use of database query languages, and the development of a database system will be covered.
By the end of the course, learners should be able to:
- Analyze the data and information that can be derived from a given database to support organizational decision-making activities
- Design data models suitable for the information requirements of a particular user group, community, or organization
- Formulate SQL statements to access data and generate information from a given database
- Implement a small-scale database solution
Developing Web Applications (CCAPDEV)
It is recommended that this course be taken as the last course in this minor program offering.
This course provides an overview of web application development as a discipline concerned with the implementation of theory, application of knowledge, and realization of practice. It introduces the students to the principles and processes of web-based systems. It focuses on the analysis of needs of an online application and the tools available to answer these needs. This course also focuses on the different technologies used in the design of web-based systems.
By the end of the course, learners should be able to:
- Understand the fundamental knowledge, issues and design considerations of a web application in relation to recent developments in technology
- Ground developments and advancements in web technology and web application design to real world requirements and problems in order to promote awareness of social responsibility
- Design and develop appropriate web solutions based on stated functional requirements
- Work harmoniously with teammates, exhibiting versatility in developing web applications
Developing Mobile Applications (MOBIDEV)
This course would only be taken if the student’s Computational Thinking and Python Scripting subject from Senior High School qualifies for crediting. They would take this course at the end of the Minor program, in place of the Computational Thinking and Basic Python Scripting course.
This course exposes the students to the field of mobile application development and its integration with existing applications, be it mobile, online, or standalone. The course also exposes the students to the latest developments in the field of mobile computing. The course will primarily tackle Android development.
By the end of the course, learners should be able to:
- Understand the issues and design considerations of a mobile application in relation to recent developments in technology
- Be aware of ground developments and advancements in technology and mobile application design to address real world requirements and problems in order to promote social awareness of social responsibility
- Improve on the ability to read and appreciate API documentation
- Work harmoniously with teammates, exhibiting versatility in developing mobile applications
Schedule of Course Offerings
Term 1
- Computational Thinking and Basic Python Scripting (SHS Computational Thinking and Python Coding subject may be credited for this course)
Term 2
- Design Thinking
- Introduction to Information Management
Term 3
- Developing Web Applications
- Developing Mobile Applications (for those with credited Computation Thinking and Python Coding subject)