0% found this document useful (0 votes)
11 views12 pages

Btvted. Cpm1. Syllabus On Fundamentals of Programming

The document outlines the syllabus for the 'Fundamentals of Programming' course (CPM1) at San Francisco Colleges for the academic year 2025-2026. It includes the college's philosophy, vision, mission, course description, learning outcomes, and a detailed course schedule with topics and activities. The syllabus emphasizes the importance of concurrent programming, covering concepts such as processes, threads, synchronization, and multithreading, along with assessment methods and grading criteria.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views12 pages

Btvted. Cpm1. Syllabus On Fundamentals of Programming

The document outlines the syllabus for the 'Fundamentals of Programming' course (CPM1) at San Francisco Colleges for the academic year 2025-2026. It includes the college's philosophy, vision, mission, course description, learning outcomes, and a detailed course schedule with topics and activities. The syllabus emphasizes the importance of concurrent programming, covering concepts such as processes, threads, synchronization, and multithreading, along with assessment methods and grading criteria.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 12

Reference No.

Issue No. 01
SAN FRANCISCO COLLEGES Rev. No. 01
San Francisco, Agusan del Sur Date: July 29, 2024
Page 12
OBE COURSE SYLLABUS

OBE Course Syllabus


CPM1

SYLLABUS IN FUNDAMENTALS OF PROGRAMMING


ACADEMIC YEAR 2025-2026

SFC Philosophy “Learning empowers people to change for a peaceful and sustainable future”
SFC Vision San Francisco Colleges, the pioneer in alternative education in San Francisco, Agusan del Sur, envisions to
provide relevant and quality
education for the marginalized sector of society thus producing competent, honorable and God-centered
individual, who care for the environment.
SFC Mission San Francisco Colleges is committed to:
● Educate the less fortunate to help them improve their quality of life and achieve a more peaceful and
sustainable future for all.
● Offer advance programs at every level through learner-centered, values-integrating, research-based and
innovative approaches.
● Inculcate in the students the culture and core values of SFC to institute love, loyalty and pride in their
community life.
● Prepare students to become effective leaders, lifelong learners, productive citizens and responsible care-
takers of Mother Earth.
● Develop persons who have a genuine care and deep concern for nature and the environment, for the social
institutions, and the
cultural legacy of a people- their physical, economical, moral and spiritual well-being.
SFC Quality Policy Policy Statement. It is the policy of San Francisco Colleges:
● that the academic performance of each member of the college community should fairly reflect that
person's own capabilities and efforts
● that prohibited actions include cheating, plagiarism, falsification, submission of the same work in different
CPM1. FUNDAMENTALS OF PROGRAMMING 1
courses, and any atte mpts to facilitate these activities
● that members of the college community will not condone actual or attempted cheating, plagiarism,
falsification or other academically dishonest activities
● that members of the community will take appropriate actions to report and resolve any suspected violations
of the principle of academic honesty following the procedures established in the appropriate SFC college
policies

Goals

Course Number CPM1


Course Title FUNDAMENTALS OF PROGRAMMING
Course Pre-requisite None
Course Description This course allows the student to learn and apply the art and style of procedural programming to solve computational problems
adhering to the standards and guidelines of documentation. It includes discussion on I/O statements, loop and branching instructions,
and creating functions and procedures..

(Expected Course Program Intended Learning Outcomes (PILOs)


Learning Outcomes)

Graduates of the BTVTED Program must have the ability to:


a Apply knowledge of computing, science, and mathematics appropriate to the discipline;
.
b Understand best practices and standards and their applications.
.
c Analyze complex problems, and identify and define the computing requirements appropriate to its solution;
.
d Identify and analyze user needs and take them into account in the selection, creation, evaluation and
.
administration of computer-based systems;

CPM1. FUNDAMENTALS OF PROGRAMMING 2


e Design, implement and evaluate computer-based systems, processes, components, or programs to
.
meet desired needs and requirements under various constraints;
f. Integrate IT-based solutions into the user environment effectively;
g Apply knowledge through the use of current techniques, skills, tools and practices necessary for the IT profession;
.
h Function effectively as a member or leader of a development team recognizing the different roles
.
within a team to accomplish a common goal;
i. Assist in the creation of an effective IT Project plan;
j. Communicate effectively with the computing community and with society at large about complex
computing activities through logical writing, presentations, and clear instructions;
k Analyze the local and global impact of computing information technology on individuals,
.
organizations, and society
l. Understand professional, ethical, legal, security and social issues and responsibilities in the utilization
of information technology; and
m Recognize the need for and engage in planning self-learning and improvement performance as a
.
foundation for continuing professional development.

Themes Peace and Development


Gender Equality
(GAD, GCED, etc.)

Course Intended Learning Outcomes Program Intended Learning Outcom


(CILOs) 21st Century
Skills*
After completion of the course, the student a b c d e f g h i
must be able to:
CPM1. FUNDAMENTALS OF PROGRAMMING 3
1 Explain fundamental concepts of
concurrent programming, including
processes, threads, and parallelism, and C4,C5,C6 E D D D
how they differ from traditional
sequential programming.

3 Develop and manage threads in various


programming languages, demonstrating a
clear understanding of thread creation, C3,C4,C5,C6 E D D D E
execution, and lifecycle management.

*C1: Character; C2: Citizenship; C3: Collaboration; C4: Communication; C5:


** I – Introductory, E – Enabling, D – Demonstrative or as provided in CHED M
Creativity; C6: Critical Thinking

PART II. COURSE DETAILS

Course Description:
The course covers an in-depth exploration of concurrent programming concepts, techniques, and tools used to develop efficient and scala
software systems. Students will learn the principles of concurrency, including the management of processes and threads, synchronization
inter-process communication (IPC). The course emphasizes solving synchronization problems and avoiding common pitfalls such as dead
race conditions, and livelocks. Students will also explore modern approaches to concurrency, including multithreading, task parallelism,
asynchronous programming, and the use of non-blocking algorithms. Through hands-on programming assignments and projects, learners
will design and implement concurrent applications across multiple platforms and programming languages.

Course Schedule

Week Intended Learning Outcomes Topic Learning Activities/Resources

CPM1. FUNDAMENTALS OF PROGRAMMING 4


• Uphold the virtues and core Orientation • Online Lecture
values of the a. Mission and Vision of the University • Required Reading Assignment
University and the College and the
• Know the BTVED Program College Resources:
Education Objectives, class b. Program Educational Objectives • Digital Devices (i.e, PC, Laptop, Smartphones, etc
policies and grading system, and c. Class Policies and Grading System • Student Handbook
student code of conduct d. Student Code of Conduct
e. Leveling of Expectations

1. Introduction to Concurrent • Online Lecture or Recorded and/or F2F Lecture


• Understand the concept of Programming • Required Reading Assignment
concurrency and its importance -Definition of concurrency vs. • Laboratory Exercise
1 to 2 in modern software parallelism
development. - Overview of concurrent systems Resources:
• Distinguish between - History and evolution of concurrent • Digital Devices (i.e, PC, Laptop, Smartphones, etc
concurrency and parallelism programming • Textbooks
• Research Materials from Internet
• Uploaded Course Topics Videos in the LMS
• Interactive Class Discussion Online using (Google
Meet or Zoom)
• Brainstorming Activities
• Group Chat (students learning consultation)

CPM1. FUNDAMENTALS OF PROGRAMMING 5


3 to 4 • Explain the differences 2. Processes and Threads • Online Lecture or Recorded and/or F2F Lecture
between processes and threads. -Definition of processes and threads • Required Reading Assignment
• Create and manage processes - Process creation (fork, exec, etc.) • Laboratory Exercise
and threads in a programming - Thread creation and management
environment. Resources:
• Digital Devices (i.e, PC, Laptop, Smartphones, etc
• Textbooks
• Research Materials from Internet
• Uploaded Course Topics Videos in the LMS
• Interactive Class Discussion Online using (Google
Meet or Zoom)
• Brainstorming Activities
• Group Chat (students learning consultation)

• Describe the thread lifecycle 3. Thread Lifecycle and States • Online Lecture or Recorded and/or F2F Lecture
and the states involved in thread - Thread states (new, runnable, • Required Reading Assignment
execution. blocked, waiting, terminated)
• Develop programs that - Lifecycle management (creation, Resources:
manipulate thread states. execution, termination) • Digital Devices (i.e, PC, Laptop, Smartphones, etc.
- Context switching • Textbooks
• Research Materials from Internet
5 • Uploaded Course Topics Videos in the LMS
• Interactive Class Discussion Online using (Google
Meet or Zoom)
• Brainstorming Activities
• Group Chat (students learning consultation)

CPM1. FUNDAMENTALS OF PROGRAMMING 6


• Understand critical sections, 4. Synchronization Mechanisms • Recorded and/or F2F Lecture
race conditions, and mutual - Critical sections and race conditions • Formative Assessment: Seatwork/Pop Quiz/Group
exclusion. - Mutual exclusion: locks (mutex), Work
• Implement synchronization semaphores, monitors • Laboratory Exercise
primitives like locks, - Condition variables, barriers
semaphores, and monitors. Resources:
• Textbook
6 to 7 • Lesson Slides
• RUBRIC
• Supplementary Lessons from the Internet

Week 9 - Midterm Examination

• Explain the concepts of 5. Deadlock, Livelock, and • Recorded and/or F2F Lecture
deadlock, livelock, and Starvation • Formative Assessment: Seatwork/Pop Quiz/Group
starvation. - Conditions for deadlock (Coffman Work
• Identify and implement conditions) • Laboratory Exercise
strategies to prevent and resolve - Deadlock prevention and avoidance
these issues in concurrent (Banker's algorithm, wait-die, wound- Resources:
10 to 11
systems. wait) • Textbook
- Livelock, starvation • Lesson Slides
• RUBRIC
• Supplementary Lessons from the Internet

CPM1. FUNDAMENTALS OF PROGRAMMING 7


• Recognize synchronization 6.Synchronization Problems • Online Lecture or Recorded and/or F2F Lecture
problem and identify applicable -Classic problems: Producer- • Required Reading Assignment
synchronization technique to be Consumer, Readers-Writers, Dining • Laboratory Exercise
used Philosophers
•Solve classic synchronization - Solutions using semaphores, locks, Resources:
problems using appropriate and monitors • Digital Devices (i.e, PC, Laptop, Smartphones, etc.
synchronization techniques. • Textbooks
12 to 13 • Research Materials from Internet
• Uploaded Course Topics Videos in the LMS
• Interactive Class Discussion Online using (Google
Meet or Zoom)
• Brainstorming Activities
• Group Chat (students learning consultation)

•Define atomic operations and 7. Atomic Operations and Memory • Online Lecture or Recorded and/or F2F Lecture
explain the significance of Models • Required Reading Assignment
memory models in concurrent - Definition of atomic operations • Laboratory Exercise
programming. - Memory models: sequential
• Implement atomic operations consistency, relaxed memory models Resources:
in a concurrent environment. - Memory barriers and ordering • Digital Devices (i.e, PC, Laptop, Smartphones, etc.
• Textbooks
14 to 15 • Research Materials from Internet
• Uploaded Course Topics Videos in the LMS
• Interactive Class Discussion Online using (Google
Meet or Zoom)
• Brainstorming Activities
• Group Chat (students learning consultation)

• Differentiate between 8. Parallelism and Multithreading • Recorded and/or F2F Lecture


concurrency and parallelism. - Concurrency vs. parallelism • Formative Assessment: Seatwork/Pop Quiz/
16 to 17 • Develop multithreaded - Multi-core and multi-processor
Group Work
applications that execute systems
• Laboratory Exercise
efficiently on multi-core systems. - Performance benefits and challenges
CPM1. FUNDAMENTALS OF PROGRAMMING 8
of parallelism
Resources:
• Textbook
• Lesson Slides
• RUBRIC
• Supplementary Lessons from the Internet

Week 18 - Final Examination


Note: This schedule is subject to change as needed during the semester. Online lectures may be in the form of web meeting with screen casting/screen shar

Teams, Google Meet/Zoom/WebEx).

Course Materials:
• Online Learning Management System (LMS)
• Textbooks and References:
Williams, Anthony (2019). C++ Concurrency in Action (2nd Edition). Manning Publications

Robey, robert and Zamora, Yuliana (2021). Parallel and High Performance Computing. Manning Publications

Nguyen, Quan (2019). Mastering Concurrency in Python: Write Clean, Concurrent, Multithreaded, and Multiprocess Code. Pack

Subramaniam, Venkat (2019). Concurrency in Kotlin. Pragmatic Programmers

Goetz, Brian, Peierls, Tim, Block, Jochua, Bowbeer, Holmes, David and Doug, Lea (2022). Java Concurrency in Practice. Addiso

Performance Evidence of Performance Standard


Course Performance Indicator
Indicator and Performance
Evidence of COURSE PROJECT Hard Copy of the Portfolio

CPM1. FUNDAMENTALS OF PROGRAMMING 9


Rubric:

Content Depth (40%): Quality of lesson


plans, assessments, and classroom
strategies.
Reflection (30%): Insight into personal
Performance growth and application of teaching
practices.
Presentation (20%): Organization and
professionalism of the portfolio.
Creativity (10%): Innovation in lesson
planning and teaching strategies.
Grading System

GRADE NUMERICAL DATA ADJECTIVAL LETTERS


PERCENTAGE DESCRIPTION /
MEANING
95 to 100 % 1.0- 1.25 Excellent A+
90 to 94 % 1.5 - 1.75 Very good A-
85 to 89 % 2.0 - 2.25 Good B
80 to 84 % 2.5 - 2.75 Good B-
75 - 79 % 3.0 Fair C+
Below 75 5.0 Failure C-
INE, INC, INR- In W= Withdrawal DR + Dropped NA= No Attendance
complete

Participation in the discussion/ Oral presentation 25%


4 Major Examinations ( Prelim, Midterm, Semi Final, Final ) 40%
Quizzes 10%
Reflective Essays and other asynchronous output 25%
TOTAL 100%
Wednesday 6:00- 7:00 P.M.
Consultation
Period
Prepared Date

CPM1. FUNDAMENTALS OF PROGRAMMING 10


Faculty July 16, 2024
Reviewed by Key inputs: Date
Revise outcomes to support attainment of the
Standards
Parts of the syllabus
1. Course Description
2. Program Outcomes
3. Course Learning Outcomes
4. Themes
5. Content
6. Face to face activities
7. Asynchronous/ Online Learning Activities
8. Assessment:
9. Suggested new titles as references:

MA. TERESA P. BAYLON, RL., Ph.D.


Program Head

Approved by Date

MA. TERESA P. BAYLON, R.L., Ph.D.


Dean for Academics

CPM1. FUNDAMENTALS OF PROGRAMMING 11


CPM1. FUNDAMENTALS OF PROGRAMMING 12

You might also like