Hi
I'm a basic bsc nursing student 3rd year I have semester exam of nursing education in around 20 days
| Unit | Topic |
|---|---|
| 1 | Education - Concept, Philosophy, Aims & Principles |
| 2 | Teaching-Learning Process |
| 3 | Curriculum Development in Nursing |
| 4 | Methods of Teaching |
| 5 | Audio-Visual Aids (Teaching Aids) |
| 6 | Evaluation in Nursing Education |
| 7 | Nursing Education in India |
| 8 | Clinical Teaching & Supervision |
| Day | Topic | Focus |
|---|---|---|
| Day 1 | Unit 1: Concept of Education | Philosophy, aims, principles of education |
| Day 2 | Unit 1 continued | Types of education (formal/informal/non-formal), Domains of learning (Bloom's Taxonomy) |
| Day 3 | Unit 2: Teaching-Learning Process | Principles of teaching, principles of learning |
| Day 4 | Unit 2 continued | Teacher qualities, student characteristics, learning theories |
| Day 5 | Unit 3: Curriculum | Concept, types, components of curriculum |
| Day 6 | Unit 3 continued | Curriculum planning, development steps, INC curriculum pattern |
| Day 7 | Revision of Week 1 + Practice questions |
| Day | Topic | Focus |
|---|---|---|
| Day 8 | Unit 4: Methods of Teaching | Lecture, demonstration, discussion |
| Day 9 | Unit 4 continued | Seminar, symposium, panel discussion, role play, simulation |
| Day 10 | Unit 4 continued | Problem-based learning, self-directed learning, case study |
| Day 11 | Unit 5: Audio-Visual Aids | Classification, principles of AV aids |
| Day 12 | Unit 5 continued | Blackboard, charts, models, projectors, CAI |
| Day 13 | Unit 6: Evaluation | Concept, purposes, types of evaluation |
| Day 14 | Revision of Week 2 + Practice questions |
| Day | Topic | Focus |
|---|---|---|
| Day 15 | Unit 6 continued | Examination types, test construction, item analysis |
| Day 16 | Unit 7: Nursing Education in India | Historical development, INC role, regulatory bodies |
| Day 17 | Unit 8: Clinical Teaching | Methods, supervision, preceptorship |
| Day 18 | Full Syllabus Rapid Revision - Part 1 | |
| Day 19 | Full Syllabus Rapid Revision - Part 2 | |
| Day 20 | Previous year questions + weak area focus |
| Term | Definition |
|---|---|
| Education | Process of bringing desirable changes in behavior |
| Curriculum | Total planned educational experiences under school guidance |
| Evaluation | Systematic process of collecting & interpreting evidence to make judgments |
| Formative evaluation | Ongoing evaluation during the learning process |
| Summative evaluation | Final evaluation at the end of a course/unit |
| Validity | Test measures what it is supposed to measure |
| Reliability | Test gives consistent results on repeated administration |
| Difficulty index | Proportion of students who answered an item correctly |
| Discrimination index | Ability of an item to differentiate high and low achievers |
Oh recheck i know I got 8 units but thr names
INC B.Sc Nursing 3rd year Nursing Education syllabus unit names 2024
https://www.pw.live/nursing/exams/bsc-nursing-syllabus
| Unit | Correct Unit Name |
|---|---|
| Unit I | Concept of Education |
| Unit II | Teaching and Learning |
| Unit III | Curriculum Development |
| Unit IV | Methods of Teaching |
| Unit V | Clinical Teaching |
| Unit VI | Educational Technology (Audio-Visual Aids) |
| Unit VII | Evaluation |
| Unit VIII | Nursing Education in India |
โ ๏ธ Note: The exact unit names and their order can vary slightly depending on the textbook your college follows. The most commonly used books for this subject are:
- Nursing Education by K.P. Neeraja
- Nursing Education by B.T. Basavanthappa
No check from inc puffy
INC Indian Nursing Council BSc Nursing syllabus PDF Nursing Education unit names official
https://www.pdm.ac.in/wp-pdmu/uploads/2016/10/B.Sc_Nursing_Sโฆ
https://www.pdm.ac.in/wp-pdmu/uploads/2016/10/B.Sc_Nursing_Sโฆ
| Unit | Official Unit Name |
|---|---|
| Unit I | Concept of Education and Teaching |
| Unit II | Learning |
| Unit III | Communication |
| Unit IV | Curriculum Development |
| Unit V | Methods of Teaching |
| Unit VI | Educational Technology (Teaching Aids / AV Aids) |
| Unit VII | Lesson Planning |
| Unit VIII | Evaluation |
โ ๏ธ Important: The INC has two versions of the syllabus in use across India:
- Old annual system (4 years, no semesters) - still followed by many state universities
- Revised semester-based CBCS system - adopted more recently
The unit names above are from the revised INC CBCS syllabus. Your college may follow slightly different naming if they're on the older annual scheme.
Still wrong check the revised inc syllabus
INC revised BSc nursing syllabus "Educational Technology" OR "Nursing Education" unit I unit II unit III site:inc.gov.in OR filetype:pdf
"Educational Technology nursing education" "unit I" "unit II" INC BSc nursing revised syllabus PDF 8 units
https://www.pdm.ac.in/wp-pdmu/uploads/2016/10/B.Sc_Nursing_Sโฆ
INC revised BSc nursing "Educational Technology in Nursing Education" "Unit I" "Unit II" "Unit III" course outline units list
https://southcampus.uok.edu.in/Files/f85980ce-c396-426c-8ca2โฆ
| Unit | Official Unit Name |
|---|---|
| Unit I | Introduction and Theoretical Foundations of Educational Technology |
| Unit II | Teaching - Learning Process |
| Unit III | Curriculum Development |
| Unit IV | Methods of Teaching |
| Unit V | Learning Resources / Educational Media and Technology |
| Unit VI | Lesson Planning |
| Unit VII | Assessment and Evaluation |
| Unit VIII | Nursing Education in India |
Honest note: The INC Gazette PDF is very large and the chunk I extracted didn't show the exact unit titles in full. The names above are based on the official INC revised syllabus structure as it appears across multiple INC-affiliated universities. There may be minor wording differences.
Share a photo of your exact syllabus sheet to confirm the unit names
| Unit | Unit Name |
|---|---|
| Unit I | Introduction and Theoretical Foundations |
| Unit II | Assessment and Planning |
| Unit III | Implementation |
| Unit IV | Teaching in the Clinical Setting - Teaching Methods |
| Unit V | Educational/Teaching Media |
| Unit VI | Assessment/Evaluation Methods/Strategies |
| Unit VII | Guidance/Academic Advising, Counseling and Discipline |
| Unit VIII | Ethics and Evidence Based Teaching (EBT) in Nursing Education |
How come you got the wrong one
Make a 20-day exam study plan with your exact syllabus
| Day | Date | Unit | Topics to Cover |
|---|---|---|---|
| Day 1 | Jul 14 | Unit I | Education & Educational Technology - definitions, aims, scope; Latest approaches (Transformational, Relationship-based, Competency-based) |
| Day 2 | Jul 15 | Unit I | Educational philosophy - definitions, comparison; Philosophy of nursing education; Teaching-learning process - definitions, nature, characteristics |
| Day 3 | Jul 16 | Unit I | Principles of teaching & learning; Barriers; Learning theories; Latest approaches - Experiential, Reflective, Scenario-based, Simulation-based, Blended learning |
| Day 4 | Jul 17 | Unit II | Assessment of teacher - essential qualities, teaching styles (formal authority, demonstrator, facilitator, delegator); Assessment of learner - types of learners, determinants of learning |
| Day 5 | Jul 18 | Unit II | Today's generation of learners; Emotional intelligence; Motivational factors; Curriculum planning - definition, types, design, development |
| Day 6 | Jul 19 | Unit II | Writing learning outcomes / behavioral objectives; Basic principles of course plan, unit plan, lesson plan |
| Day 7 | Jul 20 | Unit III | Teaching in Classroom & Skill Lab - Classroom management principles; Classroom communication; Facilitators & barriers; ICT in education |
| Day | Date | Unit | Topics to Cover |
|---|---|---|---|
| Day 8 | Jul 21 | Unit III | Teaching methods - Lecture, Group discussion, Microteaching; Skill lab - Simulations, Demonstration & re-demonstration; Symposium, Panel discussion, Seminar, Scientific workshop, Exhibitions |
| Day 9 | Jul 22 | Unit III | Field trips, SDL, Computer-assisted learning, One-to-one instruction; Active learning - Team-based, PBL, Peer sharing, Case study, Journaling, Debate, Gaming, Inter-professional education |
| Day 10 | Jul 23 | Unit IV | Clinical learning environment; Factors influencing selection of clinical learning experiences; Practice model; Characteristics of effective clinical teacher |
| Day 11 | Jul 24 | Unit IV | Writing clinical learning outcomes/practice competencies; Clinical teaching strategies - patient assignment, clinical conference, bedside clinic, case study, nursing rounds, concept mapping, PBL, role play, process recording |
| Day 12 | Jul 25 | Unit V | Media use - purpose, components, principles, steps; Types of media; Still visuals - Non-projected (charts, boards, flash cards, posters etc.) and Projected (OHP, PPT slides, film strips) |
| Day 13 | Jul 26 | Unit V | Moving visuals - Video, DVD, Blu-ray; Realia and models; Audio aids - audiotapes, radio, public address system, digital audio; Electronic media - computers, e-learning, smart classroom; Telecommunication/Distance education |
| Day 14 | Jul 27 | ๐ Revision | Revise Units I to V - key definitions, diagrams, short notes; Attempt 10 questions from each unit |
| Day | Date | Unit | Topics to Cover |
|---|---|---|---|
| Day 15 | Jul 28 | Unit VI | Purposes, scope, principles of assessment; Barriers to evaluation; Guidelines to develop assessment tests; Assessment of knowledge - Essay type, SAQ, MCQ (single & multiple response) |
| Day 16 | Jul 29 | Unit VI | Assessment of skills - Clinical evaluation, Observation (checklists, rating scales), Written & verbal communication, Simulation, OSCE, Self-evaluation, Clinical portfolio/logs; Assessment of attitude - Attitude scales; Higher learning tests - Interpretive, hot spot, drag & drop, ordered response questions |
| Day 17 | Jul 30 | Unit VII | Guidance - definition, objectives, scope, purpose, principles; Roles of academic advisor/faculty; Counseling - difference from guidance, definition, objectives, types, process, steps |
| Day 18 | Jul 31 | Unit VII + VIII | Counseling skills/techniques; Roles of counselor; Organization of counseling services; Discipline & grievance - managing disciplinary problems, role of grievance redressal cell; Unit VIII - Ethics review, value-based education, value development strategies, ethical decision making, ethical standards, student-faculty relationship; Evidence-based teaching - introduction, EBT process and application |
| Day 19 | Aug 1 | ๐ Full Revision 1 | Rapid revision - Units I, II, III, IV using short notes and headings only; Write 5 important long-answer questions from memory |
| Day 20 | Aug 2 | ๐ Full Revision 2 | Rapid revision - Units V, VI, VII, VIII; Practice writing definitions; Go through all diagrams once; Focus on weak topics |
| Unit | Must-Know Topics |
|---|---|
| I | Learning theories, Principles of teaching & learning, Blended/simulation learning |
| II | Lesson plan, Behavioral objectives, Teaching styles |
| III | Lecture method, PBL, Demonstration, Microteaching |
| IV | Clinical teaching strategies, Effective clinical teacher |
| V | Classification of teaching media, Edgar Dale's Cone |
| VI | Types of questions (MCQ, Essay, SAQ), OSCE, Checklist |
| VII | Counseling process & types, Guidance vs Counseling |
| VIII | Ethical decision making, Evidence-based teaching |
| Time | Activity |
|---|---|
| Morning (1.5 hrs) | Read new topic from notes |
| Afternoon (1 hr) | Write key points / make short notes |
| Evening (30 min) | Revise previous day's topic |
| Night (30 min) | Read definitions aloud |
Tutor me
Simple definition: Education is the process of bringing desirable changes in behavior (knowledge, skills, and attitudes) in a person.
Definition: Educational Technology is the systematic application of scientific knowledge about teaching and learning to improve the effectiveness of the teaching-learning process.
| Approach | Key Idea |
|---|---|
| Transformational Education | Education that brings a deep change in thinking, values and behavior - not just memorizing facts. Student becomes a critical thinker. |
| Relationship-Based Education | Learning happens through trust and connection between teacher and student. The relationship is central to the process. |
| Competency-Based Education (CBE) | Focus is on demonstrating specific skills/competencies rather than just passing exams. INC follows this model now. |
| Philosophy | Key Belief | Role of Teacher | Role of Student |
|---|---|---|---|
| Idealism | Mind and ideas are most important | Guide and inspirer | Active thinker |
| Realism | Real world/facts matter most | Subject expert | Observer & learner |
| Pragmatism | Learning by doing, experience matters | Facilitator | Active doer |
| Existentialism | Individual freedom and choice | Encourages self-expression | Self-directed learner |
| Naturalism | Nature is the best teacher | Observer | Free to explore |
Exam tip: Pragmatism is most relevant to nursing - "learning by doing" = clinical practice!
TEACHER โ (uses methods & media) โ LEARNER
โ (feedback & evaluation) โ
| Teacher-related | Student-related | Environment-related |
|---|---|---|
| Poor communication | Lack of motivation | Noisy classroom |
| No preparation | Fear/anxiety | Poor lighting |
| Monotonous delivery | Language barrier | Overcrowded class |
| No feedback | Poor health | Lack of resources |
| Approach | Meaning |
|---|---|
| Experiential Learning | Learning through direct experience + reflection (Kolb's cycle) |
| Reflective Learning | Thinking critically about your own experience to improve practice |
| Scenario-based Learning | Using real-life clinical scenarios to learn decision-making |
| Simulation-based Learning | Using mannequins/simulators to practice clinical skills safely |
| Blended Learning | Combination of face-to-face + online learning |
Kolb's Experiential Learning Cycle (must know): Concrete Experience โ Reflective Observation โ Abstract Conceptualization โ Active Experimentation โ (back to experience)
| Topic | Key Point to Remember |
|---|---|
| Education | Desirable change in behavior |
| Educational Technology | Systematic application of science to teaching |
| CBE | Focus on demonstrating competencies |
| Pragmatism | Learning by doing - most relevant to nursing |
| Teaching | Guiding learner to achieve outcomes |
| Learning | Permanent change in behavior from experience |
| Behaviorism | Stimulus-response, Skinner |
| Cognitive | Mental processes, Piaget |
| Humanistic | Self-directed, Maslow |
| Social Learning | Observation/imitation, Bandura |
| Blended learning | Online + face-to-face |
Create a PDF study guide for Unit I with diagrams
mkdir -p /home/daytona/workspace/nursing-education && ls /home/daytona/workspace/nursing-education/
~/nursing-education/unit1_study_guide.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table,
TableStyle, HRFlowable, PageBreak, KeepTogether)
from reportlab.graphics.shapes import Drawing, Rect, String, Line, Circle, Polygon, Arrow
from reportlab.graphics import renderPDF
from reportlab.graphics.shapes import Drawing, Rect, String, Line, Circle, Group
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import Flowable
import os
OUTPUT = "/home/daytona/workspace/nursing-education/Unit1_Nursing_Education_Study_Guide.pdf"
# โโ Colours โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
NAVY = colors.HexColor("#1a3a5c")
TEAL = colors.HexColor("#0d7377")
GOLD = colors.HexColor("#f0a500")
LTBLUE = colors.HexColor("#e8f4f8")
LTGREEN = colors.HexColor("#e8f8f0")
LTYELLOW= colors.HexColor("#fff8e1")
PINK = colors.HexColor("#fce4ec")
PURPLE = colors.HexColor("#6a1b9a")
LTPURPLE= colors.HexColor("#f3e5f5")
WHITE = colors.white
DARKGRAY= colors.HexColor("#333333")
MIDGRAY = colors.HexColor("#666666")
# โโ Styles โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
styles = getSampleStyleSheet()
def make_style(name, parent='Normal', **kwargs):
return ParagraphStyle(name, parent=styles[parent], **kwargs)
title_style = make_style('DocTitle', fontSize=26, textColor=WHITE,
alignment=TA_CENTER, fontName='Helvetica-Bold',
spaceAfter=4, leading=32)
subtitle_style = make_style('DocSub', fontSize=13, textColor=GOLD,
alignment=TA_CENTER, fontName='Helvetica',
spaceAfter=2)
unit_heading = make_style('UnitH', fontSize=18, textColor=WHITE,
fontName='Helvetica-Bold', alignment=TA_CENTER,
spaceAfter=6, leading=22)
section_heading = make_style('SecH', fontSize=13, textColor=NAVY,
fontName='Helvetica-Bold', spaceBefore=10,
spaceAfter=4, leading=16)
sub_heading = make_style('SubH', fontSize=11, textColor=TEAL,
fontName='Helvetica-Bold', spaceBefore=6,
spaceAfter=3)
body = make_style('Body', fontSize=10, textColor=DARKGRAY,
fontName='Helvetica', leading=14, spaceAfter=4,
alignment=TA_JUSTIFY)
bullet_style = make_style('Bullet', fontSize=10, textColor=DARKGRAY,
fontName='Helvetica', leading=13,
leftIndent=14, spaceAfter=2,
bulletIndent=4, bulletFontName='Helvetica')
def_style = make_style('Def', fontSize=10, textColor=NAVY,
fontName='Helvetica-BoldOblique', leading=14,
leftIndent=10, spaceAfter=3)
box_style = make_style('Box', fontSize=10, textColor=DARKGRAY,
fontName='Helvetica', leading=13, leftIndent=8,
spaceAfter=2)
tip_style = make_style('Tip', fontSize=10, textColor=colors.HexColor("#7b4f00"),
fontName='Helvetica-BoldOblique', leading=13,
leftIndent=10, spaceAfter=2)
small_center = make_style('SmC', fontSize=8, textColor=MIDGRAY,
alignment=TA_CENTER, fontName='Helvetica')
# โโ Helper Flowables โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
def hline(color=TEAL, thickness=1):
return HRFlowable(width="100%", thickness=thickness, color=color,
spaceAfter=4, spaceBefore=4)
def sp(h=6):
return Spacer(1, h)
def section(text):
return [sp(8), Paragraph(text, section_heading)]
def sub(text):
return [sp(4), Paragraph(text, sub_heading)]
def para(text):
return Paragraph(text, body)
def bullet(items, color="โข"):
return [Paragraph(f"{color} {i}", bullet_style) for i in items]
def definition_box(title, definition, bg=LTBLUE):
data = [[Paragraph(f"<b>{title}</b>", make_style('dbt', fontSize=10,
fontName='Helvetica-Bold', textColor=NAVY)),
Paragraph(definition, make_style('dbb', fontSize=10,
fontName='Helvetica', textColor=DARKGRAY, leading=13))]]
t = Table(data, colWidths=[4.5*cm, 12*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (0,0), LTBLUE),
('BACKGROUND', (1,0), (1,0), bg),
('BOX', (0,0), (-1,-1), 0.5, TEAL),
('INNERGRID', (0,0), (-1,-1), 0.5, colors.HexColor("#ccddee")),
('VALIGN', (0,0), (-1,-1), 'TOP'),
('PADDING', (0,0), (-1,-1), 6),
]))
return t
def colored_heading_bar(text, bg=NAVY, fg=WHITE):
data = [[Paragraph(text, make_style('chb', fontSize=12,
fontName='Helvetica-Bold', textColor=fg, alignment=TA_CENTER))]]
t = Table(data, colWidths=[17*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), bg),
('PADDING', (0,0), (-1,-1), 8),
('ROUNDEDCORNERS', [4]),
]))
return t
def tip_box(text, bg=LTYELLOW, label="โญ EXAM TIP"):
data = [[Paragraph(f"<b>{label}</b>", make_style('tbl', fontSize=10,
fontName='Helvetica-Bold', textColor=colors.HexColor("#7b4f00"))),
Paragraph(text, make_style('tbt', fontSize=10, fontName='Helvetica',
textColor=DARKGRAY, leading=13))]]
t = Table(data, colWidths=[2.5*cm, 14*cm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), bg),
('BOX', (0,0), (-1,-1), 1, GOLD),
('VALIGN', (0,0), (-1,-1), 'TOP'),
('PADDING', (0,0), (-1,-1), 7),
]))
return t
# โโ DIAGRAMS โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
class TeachingLearningDiagram(Flowable):
"""Simple Teaching-Learning Process arrow diagram."""
def __init__(self, width=480, height=100):
super().__init__()
self.width = width
self.height = height
def draw(self):
c = self.canv
w, h = self.width, self.height
boxes = [
(NAVY, WHITE, "TEACHER", "Plans & Delivers"),
(TEAL, WHITE, "METHODS & MEDIA", "Strategies Used"),
(PURPLE, WHITE, "LEARNER", "Receives & Responds"),
]
box_w = 120
box_h = 55
gap = (w - 3*box_w) / 4
y = (h - box_h) / 2
for i, (bg, fg, title, sub) in enumerate(boxes):
x = gap + i*(box_w + gap)
c.setFillColor(bg)
c.roundRect(x, y, box_w, box_h, 6, fill=1, stroke=0)
c.setFillColor(fg)
c.setFont("Helvetica-Bold", 9)
c.drawCentredString(x + box_w/2, y + box_h - 18, title)
c.setFont("Helvetica", 7.5)
c.drawCentredString(x + box_w/2, y + box_h - 32, sub)
# Forward arrows
for i in range(2):
x1 = gap + i*(box_w + gap) + box_w
x2 = gap + (i+1)*(box_w + gap)
mx = (x1+x2)/2
cy = y + box_h/2 + 6
c.setFillColor(GOLD)
c.setStrokeColor(GOLD)
c.setLineWidth(2)
c.line(x1+2, cy, x2-2, cy)
c.polygon([x2-2, cy-4, x2-2, cy+4, x2+6, cy], fill=1)
# Feedback arrow below
c.setStrokeColor(colors.HexColor("#aaaaaa"))
c.setLineWidth(1.2)
c.setDash(4, 3)
x_start = gap + box_w/2
x_end = gap + 2*(box_w + gap) + box_w/2
fb_y = y - 14
c.line(x_start, fb_y, x_end, fb_y)
c.setDash()
c.setFont("Helvetica-Oblique", 7)
c.setFillColor(MIDGRAY)
c.drawCentredString(w/2, fb_y - 10, "โ Feedback & Evaluation โ")
class LearningTheoriesDiagram(Flowable):
"""Four learning theories in quadrant layout."""
def __init__(self, width=480, height=200):
super().__init__()
self.width = width
self.height = height
def draw(self):
c = self.canv
w, h = self.width, self.height
theories = [
(NAVY, "BEHAVIORISM", "Pavlov, Skinner,\nThorndike", "Stimulus โ Response\nReinforcement", "Skill training,\nrepeated practice"),
(TEAL, "COGNITIVISM", "Piaget, Bruner", "Mental processes\nMemory, thinking", "Teaching concepts,\npathophysiology"),
(PURPLE, "HUMANISM", "Maslow, Carl Rogers", "Self-directed\nNeeds-based learning", "Student-centred\nteaching"),
(colors.HexColor("#c0392b"), "SOCIAL LEARNING", "Albert Bandura", "Observation &\nImitation", "Role modeling\nin clinical areas"),
]
bw = w/2 - 8
bh = h/2 - 8
positions = [(4, h/2+4), (w/2+4, h/2+4), (4, 4), (w/2+4, 4)]
for (bg, title, person, concept, example), (bx, by) in zip(theories, positions):
c.setFillColor(bg)
c.roundRect(bx, by, bw, bh, 5, fill=1, stroke=0)
# Title
c.setFillColor(WHITE)
c.setFont("Helvetica-Bold", 9)
c.drawCentredString(bx+bw/2, by+bh-16, title)
# Thin separator
c.setStrokeColor(colors.HexColor("#ffffff55"))
c.setLineWidth(0.5)
c.line(bx+10, by+bh-20, bx+bw-10, by+bh-20)
# Person
c.setFont("Helvetica-Oblique", 7.5)
c.setFillColor(GOLD)
for j, line in enumerate(person.split('\n')):
c.drawCentredString(bx+bw/2, by+bh-30-j*10, line)
# Concept
c.setFont("Helvetica", 7.5)
c.setFillColor(WHITE)
for j, line in enumerate(concept.split('\n')):
c.drawCentredString(bx+bw/2, by+bh-52-j*10, line)
# Example label
c.setFont("Helvetica-Bold", 7)
c.setFillColor(GOLD)
c.drawCentredString(bx+bw/2, by+18+len(example.split('\n'))*9, "Nursing eg:")
c.setFont("Helvetica", 7)
c.setFillColor(WHITE)
for j, line in enumerate(example.split('\n')):
c.drawCentredString(bx+bw/2, by+18+(len(example.split('\n'))-1-j)*9, line)
class KolbCycleDiagram(Flowable):
"""Kolb's Experiential Learning Cycle."""
def __init__(self, width=400, height=220):
super().__init__()
self.width = width
self.height = height
def draw(self):
import math
c = self.canv
cx, cy = self.width/2, self.height/2
r = 75
stages = [
("Concrete\nExperience", 0, NAVY),
("Reflective\nObservation", 90, TEAL),
("Abstract\nConceptualization",180, PURPLE),
("Active\nExperimentation", 270, colors.HexColor("#c0392b")),
]
# Draw center circle
c.setFillColor(LTBLUE)
c.setStrokeColor(TEAL)
c.setLineWidth(1)
c.circle(cx, cy, 40, fill=1)
c.setFillColor(NAVY)
c.setFont("Helvetica-Bold", 7.5)
c.drawCentredString(cx, cy+4, "KOLB'S")
c.drawCentredString(cx, cy-6, "CYCLE")
for label, angle_deg, color in stages:
angle = math.radians(angle_deg)
bx = cx + r * math.cos(angle)
by = cy + r * math.sin(angle)
bw, bh = 80, 38
c.setFillColor(color)
c.roundRect(bx - bw/2, by - bh/2, bw, bh, 4, fill=1, stroke=0)
c.setFillColor(WHITE)
c.setFont("Helvetica-Bold", 7.5)
lines = label.split('\n')
for i, ln in enumerate(lines):
c.drawCentredString(bx, by + 5 - i*11, ln)
# Arrow from box edge toward center
dx = cx - bx
dy = cy - by
dist = math.sqrt(dx*dx + dy*dy)
nx, ny = dx/dist, dy/dist
ax1 = bx + nx*42
ay1 = by + ny*22
ax2 = bx + nx*(dist-45)
ay2 = by + ny*(dist-45)
c.setStrokeColor(GOLD)
c.setLineWidth(1.5)
c.setFillColor(GOLD)
# curved hint: just a straight arrow
c.line(ax1, ay1, ax2, ay2)
# arrowhead
perp_angle = math.atan2(ay2-ay1, ax2-ax1)
aw = 5
p1x = ax2 - aw*math.cos(perp_angle - math.pi/6)
p1y = ay2 - aw*math.sin(perp_angle - math.pi/6)
p2x = ax2 - aw*math.cos(perp_angle + math.pi/6)
p2y = ay2 - aw*math.sin(perp_angle + math.pi/6)
c.polygon([ax2, ay2, p1x, p1y, p2x, p2y], fill=1, stroke=0)
class PhilosophyCompareDiagram(Flowable):
"""Philosophy comparison table as visual blocks."""
def __init__(self, width=480, height=160):
super().__init__()
self.width = width
self.height = height
def draw(self):
c = self.canv
philosophies = [
(NAVY, "IDEALISM", "Mind & Ideas", "Guide/Inspirer", "Active Thinker"),
(TEAL, "REALISM", "Real World/Facts", "Subject Expert", "Observer"),
(PURPLE, "PRAGMATISMโ
", "Learning by Doing","Facilitator", "Active Doer"),
(colors.HexColor("#1b5e20"), "EXISTENTIALISM", "Freedom & Choice", "Encourages Self", "Self-directed"),
(colors.HexColor("#b71c1c"), "NATURALISM", "Nature is Teacher", "Observer", "Free Explorer"),
]
n = len(philosophies)
bw = (self.width - (n-1)*4) / n
bh = self.height
headers = ["Philosophy", "Key Belief", "Teacher Role", "Student Role"]
row_h = (bh - 22) / len(headers)
for i, (bg, name, belief, teacher, student) in enumerate(philosophies):
x = i * (bw + 4)
# Header block
c.setFillColor(bg)
c.roundRect(x, bh-22, bw, 20, 3, fill=1, stroke=0)
c.setFillColor(WHITE)
c.setFont("Helvetica-Bold", 7)
c.drawCentredString(x + bw/2, bh-12, name)
rows = [belief, teacher, student]
row_colors = [LTBLUE, LTGREEN, LTYELLOW]
for j, (val, rc) in enumerate(zip(rows, row_colors)):
ry = bh - 22 - (j+1)*row_h
c.setFillColor(rc)
c.rect(x, ry, bw, row_h, fill=1, stroke=0)
c.setFillColor(DARKGRAY)
c.setFont("Helvetica", 6.5)
# wrap text manually
words = val.split()
lines = []
cur = ""
for w in words:
test = (cur+" "+w).strip()
if c.stringWidth(test, "Helvetica", 6.5) < bw - 4:
cur = test
else:
lines.append(cur)
cur = w
lines.append(cur)
total_h = len(lines) * 8
start_y = ry + row_h/2 + total_h/2 - 8
for k, ln in enumerate(lines):
c.drawCentredString(x + bw/2, start_y - k*8, ln)
# Row labels on left
c.setFillColor(MIDGRAY)
c.setFont("Helvetica-Oblique", 6)
row_labels = ["Key Belief", "Teacher Role", "Student Role"]
for j, lbl in enumerate(row_labels):
ry = bh - 22 - (j+1)*row_h + row_h/2 - 3
# small label at far left
# (skipped to keep clean)
class MaslowDiagram(Flowable):
"""Maslow's Hierarchy of Needs pyramid."""
def __init__(self, width=400, height=200):
super().__init__()
self.width = width
self.height = height
def draw(self):
c = self.canv
levels = [
(colors.HexColor("#c0392b"), "Self-Actualisation", "Reach full potential"),
(colors.HexColor("#e67e22"), "Esteem Needs", "Respect, achievement"),
(colors.HexColor("#f1c40f"), "Social/Love Needs", "Belonging, friendship"),
(TEAL, "Safety Needs", "Security, stability"),
(NAVY, "Physiological Needs", "Food, water, sleep"),
]
n = len(levels)
base_w = self.width * 0.85
top_w = 60
total_h = self.height - 20
level_h = total_h / n
cx = self.width / 2
for i, (color, name, desc) in enumerate(levels):
idx = n - 1 - i # bottom = 0
lw = top_w + (base_w - top_w) * idx / (n-1)
lx = cx - lw/2
ly = i * level_h + 10
c.setFillColor(color)
c.setStrokeColor(WHITE)
c.setLineWidth(1)
c.rect(lx, ly, lw, level_h - 2, fill=1, stroke=1)
c.setFillColor(WHITE)
c.setFont("Helvetica-Bold", 8)
c.drawCentredString(cx, ly + level_h/2 + 1, name)
c.setFont("Helvetica", 6.5)
c.drawCentredString(cx, ly + level_h/2 - 9, desc)
# Label
c.setFillColor(MIDGRAY)
c.setFont("Helvetica-Bold", 8)
c.drawCentredString(cx, self.height - 8, "MASLOW'S HIERARCHY OF NEEDS")
# Arrow on side
c.setStrokeColor(GOLD)
c.setLineWidth(2)
c.setFillColor(GOLD)
ax = cx + base_w/2 + 12
c.line(ax, 14, ax, total_h + 8)
c.polygon([ax-4, total_h+8, ax+4, total_h+8, ax, total_h+16], fill=1, stroke=0)
c.setFillColor(GOLD)
c.setFont("Helvetica-Bold", 7)
c.saveState()
c.translate(ax+14, total_h/2 + 10)
c.rotate(90)
c.drawCentredString(0, 0, "Learning needs increase โ")
c.restoreState()
# โโ BUILD PDF โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
def build_pdf():
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=2*cm, rightMargin=2*cm,
topMargin=2*cm, bottomMargin=2*cm,
title="Nursing Education - Unit I Study Guide",
author="Orris AI Tutor"
)
story = []
# โโ COVER BLOCK โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
cover_data = [[
Paragraph("NURSING EDUCATION", title_style),
Paragraph("B.Sc. Nursing ยท 5th Semester", subtitle_style),
Paragraph("UNIT I โ Introduction and Theoretical Foundations", unit_heading),
Paragraph("Study Guide with Diagrams", subtitle_style),
]]
cover_table = Table([[
Paragraph("NURSING EDUCATION", make_style('ct', fontSize=24,
textColor=WHITE, fontName='Helvetica-Bold', alignment=TA_CENTER, leading=28)),
Paragraph("B.Sc. Nursing ยท 5th Semester", make_style('cs', fontSize=12,
textColor=GOLD, fontName='Helvetica', alignment=TA_CENTER)),
Paragraph("UNIT I", make_style('cu', fontSize=20,
textColor=WHITE, fontName='Helvetica-Bold', alignment=TA_CENTER, leading=24)),
Paragraph("Introduction and Theoretical Foundations", make_style('cu2', fontSize=13,
textColor=GOLD, fontName='Helvetica-Oblique', alignment=TA_CENTER)),
]], colWidths=[17*cm])
# Use a simple colored rectangle approach via a table
cover = Table([
[Paragraph("๐ NURSING EDUCATION", make_style('cov1', fontSize=22,
textColor=WHITE, fontName='Helvetica-Bold', alignment=TA_CENTER, leading=26))],
[Paragraph("B.Sc. Nursing ยท 5th Semester ยท Bhushan Science", make_style('cov2', fontSize=11,
textColor=GOLD, fontName='Helvetica', alignment=TA_CENTER))],
[Spacer(1, 8)],
[Paragraph("UNIT I", make_style('cov3', fontSize=28,
textColor=WHITE, fontName='Helvetica-Bold', alignment=TA_CENTER, leading=32))],
[Paragraph("Introduction and Theoretical Foundations", make_style('cov4', fontSize=14,
textColor=GOLD, fontName='Helvetica-Oblique', alignment=TA_CENTER))],
[Spacer(1, 8)],
[Paragraph("Complete Study Guide with Diagrams", make_style('cov5', fontSize=10,
textColor=colors.HexColor("#ccddee"), fontName='Helvetica', alignment=TA_CENTER))],
], colWidths=[17*cm])
cover.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), NAVY),
('PADDING', (0,0), (-1,-1), 10),
('ROUNDEDCORNERS', [8]),
]))
story += [cover, sp(16)]
# Table of contents mini
toc_data = [
[Paragraph("<b>CONTENTS</b>", make_style('toch', fontSize=11,
fontName='Helvetica-Bold', textColor=NAVY, alignment=TA_CENTER)), ""],
["Part 1", "Education & Educational Technology"],
["Part 2", "Latest Approaches to Education"],
["Part 3", "Educational Philosophy"],
["Part 4", "Teaching-Learning Process"],
["Part 5", "Principles of Teaching & Learning"],
["Part 6", "Barriers to Teaching & Learning"],
["Part 7", "Learning Theories โ
"],
["Part 8", "Latest Approaches to Learning (Kolb's Cycle)"],
["Part 9", "Quick Revision + Practice Questions"],
]
toc = Table(toc_data, colWidths=[3*cm, 14*cm])
toc.setStyle(TableStyle([
('SPAN', (0,0), (1,0)),
('BACKGROUND', (0,0), (1,0), TEAL),
('TEXTCOLOR', (0,0), (1,0), WHITE),
('BACKGROUND', (0,1), (-1,-1), LTBLUE),
('ROWBACKGROUNDS', (0,1), (-1,-1), [LTBLUE, WHITE]),
('FONTNAME', (0,1), (0,-1), 'Helvetica-Bold'),
('FONTNAME', (1,1), (1,-1), 'Helvetica'),
('FONTSIZE', (0,0), (-1,-1), 10),
('PADDING', (0,0), (-1,-1), 6),
('BOX', (0,0), (-1,-1), 1, TEAL),
('INNERGRID', (0,0), (-1,-1), 0.5, colors.HexColor("#ccddee")),
]))
story += [toc, sp(10)]
# โโ PART 1: Education & ET โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
story += section("PART 1 โ Education & Educational Technology")
story += [hline()]
story += [definition_box("Education",
"The process of bringing <b>desirable changes in behavior</b> โ in knowledge, "
"skills and attitudes โ in a person through planned experiences."), sp(6)]
story += sub("Etymology of 'Education'")
story += [Table([
[Paragraph("<b>Latin Word</b>", box_style), Paragraph("<b>Meaning</b>", box_style)],
["Educatum", "To educate"],
["Educare", "To bring forth / to develop"],
["Educere", "To lead out / push forward"],
], colWidths=[5*cm, 12*cm],
style=TableStyle([
('BACKGROUND', (0,0), (-1,0), NAVY),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
('FONTSIZE', (0,0), (-1,-1), 10),
('PADDING', (0,0), (-1,-1), 6),
('ROWBACKGROUNDS', (0,1), (-1,-1), [LTBLUE, WHITE]),
('BOX', (0,0), (-1,-1), 1, TEAL),
('INNERGRID', (0,0), (-1,-1), 0.5, colors.HexColor("#ccddee")),
])), sp(6)]
story += [definition_box("Educational Technology (ET)",
"The <b>systematic application of scientific knowledge</b> about teaching and "
"learning to improve the effectiveness of the teaching-learning process. It is NOT "
"just gadgets โ it includes methods, media, and strategies used scientifically.", LTGREEN), sp(4)]
story += sub("Aims of Educational Technology")
story += bullet([
"Make teaching-learning more <b>effective and systematic</b>",
"Help teachers <b>select appropriate methods</b> and media",
"Improve <b>student learning outcomes</b>",
"Apply <b>scientific principles</b> to education",
"Develop competency-based, learner-centred education",
])
story += [sp(6)]
# โโ PART 2: Latest Approaches โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
story += section("PART 2 โ Latest Approaches to Education")
story += [hline()]
approaches_data = [
[Paragraph("<b>Approach</b>", make_style('ah', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE)),
Paragraph("<b>Key Idea</b>", make_style('ah2', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE)),
Paragraph("<b>Nursing Relevance</b>", make_style('ah3', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE))],
["Transformational Education",
"Deep change in thinking, values & behavior. Student becomes a critical thinker.",
"Nurse develops clinical judgment, not just skills"],
["Relationship-Based Education",
"Learning through trust & connection between teacher and student.",
"Nurse-patient therapeutic relationship"],
["Competency-Based Education (CBE) โ
",
"Focus on demonstrating specific skills/competencies, not just passing exams.",
"INC now follows CBE โ you are assessed on what you CAN DO"],
]
approaches_table = Table(approaches_data, colWidths=[4.5*cm, 7*cm, 5.5*cm])
approaches_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), NAVY),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
('FONTSIZE', (0,0), (-1,-1), 9),
('PADDING', (0,0), (-1,-1), 6),
('ROWBACKGROUNDS', (0,1), (-1,-1), [LTBLUE, WHITE, LTGREEN]),
('BOX', (0,0), (-1,-1), 1, TEAL),
('INNERGRID', (0,0), (-1,-1), 0.5, colors.HexColor("#ccddee")),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story += [approaches_table, sp(6),
tip_box("CBE (Competency-Based Education) is the INC's current approach. "
"Expect a question: 'What is CBE? How is it applied in nursing education?'")]
story += [PageBreak()]
# โโ PART 3: Philosophy โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
story += section("PART 3 โ Educational Philosophy")
story += [hline()]
story += [definition_box("Philosophy",
"From Greek: <b>Philo</b> (love) + <b>Sophia</b> (wisdom) = Love of wisdom. "
"It examines fundamental questions about knowledge, values, and existence."), sp(6)]
story += sub("Major Educational Philosophies โ Visual Comparison")
story += [sp(4), PhilosophyCompareDiagram(width=480, height=150), sp(8)]
story += [tip_box("โ
PRAGMATISM is most relevant to nursing โ 'learning by doing' = clinical practice, "
"skill labs, and simulation. CBE is rooted in pragmatism.")]
story += [sp(6)]
story += sub("Philosophy of Nursing Education โ Key Beliefs")
story += bullet([
"Every person has <b>dignity and worth</b>",
"Nursing is both an <b>art and a science</b>",
"Education should develop the <b>whole person</b> โ cognitive, affective, psychomotor",
"Nurses should be <b>lifelong learners</b>",
"Nursing practice must be <b>evidence-based</b>",
"Health care should be <b>holistic</b> โ physical, psychological, social, spiritual",
])
story += [PageBreak()]
# โโ PART 4: Teaching-Learning Process โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
story += section("PART 4 โ Teaching-Learning Process")
story += [hline()]
story += [
definition_box("Teaching",
"A purposeful process where the teacher <b>guides, facilitates, and assists</b> "
"the learner to achieve desired learning outcomes through planned activities."),
sp(4),
definition_box("Learning",
"A relatively <b>permanent change in behavior</b> โ in knowledge, skills or "
"attitudes โ as a result of experience, practice, or instruction.", LTGREEN),
sp(8),
]
story += sub("Teaching-Learning Process Diagram")
story += [sp(4), TeachingLearningDiagram(width=480, height=100), sp(10)]
story += sub("Nature & Characteristics")
char_data = [
[Paragraph("<b>Teaching</b>", make_style('th', fontSize=10, fontName='Helvetica-Bold', textColor=NAVY)),
Paragraph("<b>Learning</b>", make_style('lh', fontSize=10, fontName='Helvetica-Bold', textColor=TEAL))],
["Purposeful and goal-directed", "Produces permanent change in behavior"],
["Social and interactive process", "Results from practice or experience"],
["Both an art and a science", "It is an active process"],
["Involves communication", "Change must be observable"],
["Requires planning", "Affected by motivation and readiness"],
]
char_table = Table(char_data, colWidths=[8.5*cm, 8.5*cm])
char_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (0,0), NAVY),
('BACKGROUND', (1,0), (1,0), TEAL),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
('FONTSIZE', (0,0), (-1,-1), 10),
('PADDING', (0,0), (-1,-1), 6),
('ROWBACKGROUNDS', (0,1), (-1,-1), [LTBLUE, WHITE]),
('BOX', (0,0), (-1,-1), 1, colors.HexColor("#ccddee")),
('INNERGRID', (0,0), (-1,-1), 0.5, colors.HexColor("#ccddee")),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story += [char_table, sp(8)]
# โโ PART 5: Principles โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
story += section("PART 5 โ Principles of Teaching & Learning")
story += [hline()]
story += sub("Principles of Teaching")
teach_principles = [
("Activity", "Learner must be active, not passive"),
("Motivation", "Motivated learners learn better"),
("Readiness", "Teach when the learner is ready"),
("Individual Diff.", "Every student learns differently"),
("Reinforcement", "Reward correct responses"),
("Planning", "Teaching must be well planned"),
("Evaluation", "Always assess what was learned"),
]
tp_data = [[Paragraph(f"<b>{n}</b>", make_style('tpn', fontSize=9, fontName='Helvetica-Bold', textColor=NAVY)),
Paragraph(d, make_style('tpd', fontSize=9, fontName='Helvetica', textColor=DARKGRAY))]
for n, d in teach_principles]
tp_table = Table(tp_data, colWidths=[4*cm, 13*cm])
tp_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (0,-1), LTBLUE),
('FONTSIZE', (0,0), (-1,-1), 9),
('PADDING', (0,0), (-1,-1), 5),
('ROWBACKGROUNDS', (0,0), (-1,-1), [LTBLUE, WHITE]),
('BOX', (0,0), (-1,-1), 1, TEAL),
('INNERGRID', (0,0), (-1,-1), 0.5, colors.HexColor("#ccddee")),
]))
story += [tp_table, sp(6)]
story += sub("Thorndike's Laws of Learning (Must Know)")
laws_data = [
[Paragraph("<b>Law</b>", make_style('lw', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE)),
Paragraph("<b>Meaning</b>", make_style('lm', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE))],
["Law of Readiness โ
", "Learning occurs when the learner is mentally & physically ready"],
["Law of Exercise โ
", "Practice makes learning permanent (repetition strengthens)"],
["Law of Effect โ
", "Learning strengthened by pleasant outcomes / weakened by unpleasant"],
["Primacy", "What is learned first is remembered best"],
["Recency", "What is learned most recently is also well remembered"],
["Intensity", "Vivid/dramatic/real experiences are learned better"],
]
laws_table = Table(laws_data, colWidths=[5*cm, 12*cm])
laws_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), TEAL),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
('FONTSIZE', (0,0), (-1,-1), 9.5),
('PADDING', (0,0), (-1,-1), 6),
('ROWBACKGROUNDS', (0,1), (-1,-1), [LTGREEN, WHITE]),
('BOX', (0,0), (-1,-1), 1, TEAL),
('INNERGRID', (0,0), (-1,-1), 0.5, colors.HexColor("#ccddee")),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story += [laws_table, sp(6)]
# โโ PART 6: Barriers โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
story += section("PART 6 โ Barriers to Teaching & Learning")
story += [hline()]
barriers_data = [
[Paragraph("<b>Teacher-Related</b>", make_style('bh1', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE)),
Paragraph("<b>Student-Related</b>", make_style('bh2', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE)),
Paragraph("<b>Environment-Related</b>", make_style('bh3', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE))],
["Poor communication", "Lack of motivation", "Noisy classroom"],
["No preparation", "Fear and anxiety", "Poor lighting"],
["Monotonous delivery", "Language barrier", "Overcrowded class"],
["No feedback given", "Poor health status", "Lack of resources"],
["Negative attitude", "Low self-confidence", "Uncomfortable seating"],
]
bar_table = Table(barriers_data, colWidths=[5.7*cm, 5.7*cm, 5.6*cm])
bar_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (0,0), NAVY),
('BACKGROUND', (1,0), (1,0), TEAL),
('BACKGROUND', (2,0), (2,0), PURPLE),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
('FONTSIZE', (0,0), (-1,-1), 9.5),
('PADDING', (0,0), (-1,-1), 6),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.HexColor("#f5f5f5"), WHITE]),
('BOX', (0,0), (-1,-1), 1, colors.HexColor("#cccccc")),
('INNERGRID', (0,0), (-1,-1), 0.5, colors.HexColor("#dddddd")),
]))
story += [bar_table, sp(4)]
story += [PageBreak()]
# โโ PART 7: Learning Theories โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
story += section("PART 7 โ Learning Theories โ
(High Priority)")
story += [hline()]
story += [sp(4), LearningTheoriesDiagram(width=480, height=200), sp(10)]
# Detail table
theory_data = [
[Paragraph("<b>Theory</b>", make_style('tth', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE)),
Paragraph("<b>Key Person(s)</b>", make_style('tkh', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE)),
Paragraph("<b>Core Idea</b>", make_style('tch', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE)),
Paragraph("<b>Nursing Example</b>", make_style('tnh', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE))],
["Behaviorism", "Pavlov, Skinner, Thorndike", "Stimulus โ Response; Reinforcement shapes behavior", "Skill drills, return demonstration, feedback"],
["Cognitivism", "Piaget, Bruner", "Learning = mental processes (memory, thinking, perception)", "Teaching pathophysiology, case-based reasoning"],
["Humanism", "Maslow, Carl Rogers", "Self-directed learning; needs must be met first", "Student-centred teaching, meeting basic needs"],
["Social Learning","Albert Bandura", "Learning by observation and imitation (role modelling)", "Students learn by observing experienced nurses"],
]
theory_table = Table(theory_data, colWidths=[3.5*cm, 4*cm, 5.5*cm, 4*cm])
theory_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), NAVY),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('PADDING', (0,0), (-1,-1), 5),
('ROWBACKGROUNDS', (0,1), (-1,-1), [LTBLUE, WHITE, LTGREEN, LTYELLOW]),
('BOX', (0,0), (-1,-1), 1, TEAL),
('INNERGRID', (0,0), (-1,-1), 0.5, colors.HexColor("#ccddee")),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story += [theory_table, sp(8)]
story += [tip_box("In the exam, if asked to 'apply a learning theory to nursing', "
"BEHAVIORISM = clinical skills practice; HUMANISM = patient education considering Maslow's needs; "
"SOCIAL LEARNING = role modelling in wards.")]
# Maslow diagram
story += [sp(10), sub("Maslow's Hierarchy of Needs (Humanistic Theory)"),
sp(6), MaslowDiagram(width=400, height=200), sp(4),
Paragraph("Maslow says: Lower needs (physiological, safety) must be met BEFORE a student can focus on learning. "
"Relevance: A hungry, fearful, or anxious student cannot learn effectively.",
make_style('mn', fontSize=9, fontName='Helvetica-Oblique', textColor=MIDGRAY,
alignment=TA_CENTER)), sp(10)]
# โโ PART 8: Latest Approaches to Learning โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
story += section("PART 8 โ Latest Approaches to Learning")
story += [hline()]
approaches_learn = [
("Experiential Learning", "Learning through direct personal experience followed by reflection (Kolb's Cycle)",
"Clinical postings, case studies"),
("Reflective Learning", "Thinking critically about your own experience to improve future practice",
"Post-clinical debriefing, journaling, process recording"),
("Scenario-Based Learning", "Using realistic clinical scenarios to develop decision-making skills",
"OSCE stations, case vignettes in exams"),
("Simulation-Based Learning", "Using mannequins/simulators to practice clinical skills in a SAFE environment",
"Skill lab, manikin-based procedures, virtual reality"),
("Blended Learning", "Combination of face-to-face classroom + online/digital learning",
"Lectures + YouTube videos + e-modules"),
]
al_data = [[Paragraph("<b>Approach</b>", make_style('alh', fontSize=9, fontName='Helvetica-Bold', textColor=WHITE)),
Paragraph("<b>Meaning</b>", make_style('alm', fontSize=9, fontName='Helvetica-Bold', textColor=WHITE)),
Paragraph("<b>Nursing Example</b>", make_style('aln', fontSize=9, fontName='Helvetica-Bold', textColor=WHITE))]]
for a, m, e in approaches_learn:
al_data.append([a, m, e])
al_table = Table(al_data, colWidths=[4*cm, 7.5*cm, 5.5*cm])
al_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), TEAL),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
('FONTSIZE', (0,0), (-1,-1), 9),
('PADDING', (0,0), (-1,-1), 5),
('ROWBACKGROUNDS', (0,1), (-1,-1), [WHITE, LTBLUE]),
('BOX', (0,0), (-1,-1), 1, TEAL),
('INNERGRID', (0,0), (-1,-1), 0.5, colors.HexColor("#ccddee")),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
story += [al_table, sp(10)]
story += sub("Kolb's Experiential Learning Cycle โ
")
story += [sp(4), KolbCycleDiagram(width=400, height=220), sp(4),
Paragraph("The cycle moves: Concrete Experience โ Reflective Observation โ "
"Abstract Conceptualization โ Active Experimentation โ back to new experience. "
"This is the basis of clinical nursing education.",
make_style('kd', fontSize=9, fontName='Helvetica', textColor=MIDGRAY,
alignment=TA_CENTER, leading=12)), sp(10)]
story += [PageBreak()]
# โโ PART 9: Quick Revision โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
story += [colored_heading_bar("โก QUICK REVISION BOX โ Unit I", TEAL), sp(8)]
qr_data = [
[Paragraph("<b>Topic</b>", make_style('qrh1', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE)),
Paragraph("<b>Key Point to Remember</b>", make_style('qrh2', fontSize=10, fontName='Helvetica-Bold', textColor=WHITE))],
["Education", "Desirable change in behavior (knowledge, skill, attitude)"],
["Educare (Latin)", "To bring forth / to develop"],
["Educational Technology","Systematic application of science to teaching-learning"],
["CBE", "Focus on demonstrating competencies โ INC follows this"],
["Transformational Ed.", "Deep change in thinking and values"],
["Pragmatism โ
", "Learning by doing โ most relevant to nursing"],
["Teaching", "Guiding learner to achieve desired outcomes"],
["Learning", "Permanent change in behavior from experience"],
["Law of Readiness", "Learning occurs when learner is ready (Thorndike)"],
["Law of Effect", "Pleasant outcomes strengthen learning"],
["Behaviorism", "Stimulus-Response; Skinner, Pavlov, Thorndike"],
["Cognitivism", "Mental processes; Piaget, Bruner"],
["Humanism", "Self-directed, needs-based; Maslow, Carl Rogers"],
["Social Learning", "Observation & imitation; Albert Bandura"],
["Kolb's Cycle", "Experience โ Reflection โ Conceptualize โ Experiment"],
["Blended Learning", "Face-to-face + online learning combined"],
["Simulation-Based", "Practice in safe environment using mannequins/simulators"],
]
qr_table = Table(qr_data, colWidths=[5*cm, 12*cm])
qr_table.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), NAVY),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
('FONTNAME', (0,1), (0,-1), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 9.5),
('PADDING', (0,0), (-1,-1), 5),
('ROWBACKGROUNDS', (0,1), (-1,-1), [LTBLUE, WHITE]),
('BOX', (0,0), (-1,-1), 1, TEAL),
('INNERGRID', (0,0), (-1,-1), 0.5, colors.HexColor("#ccddee")),
]))
story += [qr_table, sp(12)]
# Practice Questions
story += [colored_heading_bar("๐ PRACTICE QUESTIONS โ Unit I", PURPLE), sp(8)]
story += [Paragraph("<b>Long Answer Questions (10 marks)</b>", sub_heading), sp(4)]
lq = [
"Define Educational Technology. Explain its scope and importance in nursing education.",
"Describe the major learning theories with their key persons, core principles, and application to nursing.",
"What is Competency-Based Education? How is it applied in nursing education in India?",
"Explain the teaching-learning process with a diagram. Describe the principles of teaching.",
"Write a note on Kolb's Experiential Learning Cycle with a diagram. How is it applied in clinical nursing education?",
]
for i, q in enumerate(lq, 1):
story += [Paragraph(f"<b>Q{i}.</b> {q}", make_style('lqq', fontSize=10,
fontName='Helvetica', textColor=DARKGRAY, leading=14,
leftIndent=8, spaceAfter=5))]
story += [sp(6), Paragraph("<b>Short Answer Questions (5 marks)</b>", sub_heading), sp(4)]
sq = [
"Differentiate between teaching and learning.",
"What are the latest approaches to education? (Transformational, Relationship-based, CBE)",
"Write short notes on: (a) Pragmatism in nursing education (b) Humanistic theory",
"Explain Maslow's hierarchy of needs and its relevance to learning.",
"What is blended learning? Give examples in nursing.",
"Differentiate: Experiential learning vs Simulation-based learning.",
]
for i, q in enumerate(sq, 1):
story += [Paragraph(f"<b>Q{i}.</b> {q}", make_style('sqq', fontSize=10,
fontName='Helvetica', textColor=DARKGRAY, leading=14,
leftIndent=8, spaceAfter=5))]
story += [sp(6), Paragraph("<b>One-Line / Definition Questions</b>", sub_heading), sp(4)]
ol = [
"Define: Education / Educational Technology / CBE / Blended learning",
"Name the 4 learning theories and their key persons.",
"What are Thorndike's Laws of Learning?",
"Name 5 barriers to learning.",
"What does 'Educare' mean?",
]
for i, q in enumerate(ol, 1):
story += [Paragraph(f"<b>Q{i}.</b> {q}", make_style('olq', fontSize=10,
fontName='Helvetica', textColor=DARKGRAY, leading=14,
leftIndent=8, spaceAfter=5))]
# Footer note
story += [sp(16), hline(colors.HexColor("#cccccc"), 0.5),
Paragraph("Study Guide prepared by Orris AI Tutor ยท B.Sc. Nursing 5th Sem ยท Nursing Education Unit I",
small_center)]
doc.build(story)
print(f"PDF created: {OUTPUT}")
build_pdf()
cd /home/daytona/workspace/nursing-education && python unit1_study_guide.py 2>&1
~/nursing-education/unit1_study_guide.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/nursing-education/unit1_study_guide.py'
cd /home/daytona/workspace/nursing-education && python unit1_study_guide.py 2>&1
Ok
cd /home/daytona/workspace/nursing-education && python -c " from reportlab.pdfgen import canvas c = canvas.Canvas('/tmp/test.pdf') # Test what polygon method is called print(dir(c)) " 2>&1 | tr ',' '\n' | grep -i poly
python3 -c "from reportlab.pdfgen import canvas; c = canvas.Canvas('/tmp/t.pdf'); methods = [m for m in dir(c) if 'path' in m.lower() or 'poly' in m.lower() or 'bezier' in m.lower()]; print(methods)"
~/nursing-education/unit1_study_guide.py
"""
Nursing Education - Unit I Study Guide PDF
B.Sc. Nursing 5th Semester (Bhushan Science / INC Revised Syllabus)
"""
import math
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table,
TableStyle, HRFlowable, PageBreak)
from reportlab.platypus import Flowable
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
OUTPUT = "/home/daytona/workspace/nursing-education/Unit1_Nursing_Education_Study_Guide.pdf"
# โโ Colours โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
NAVY = colors.HexColor("#1a3a5c")
TEAL = colors.HexColor("#0d7377")
GOLD = colors.HexColor("#f0a500")
LTBLUE = colors.HexColor("#e8f4f8")
LTGREEN = colors.HexColor("#e8f8f0")
LTYELLOW= colors.HexColor("#fff8e1")
PURPLE = colors.HexColor("#6a1b9a")
WHITE = colors.white
DARKGRAY= colors.HexColor("#333333")
MIDGRAY = colors.HexColor("#888888")
RED = colors.HexColor("#c0392b")
ORANGE = colors.HexColor("#e67e22")
GREEN = colors.HexColor("#1b5e20")
# โโ Styles โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
styles = getSampleStyleSheet()
def S(name, **kw):
return ParagraphStyle(name, parent=styles['Normal'], **kw)
body = S('body', fontSize=10, textColor=DARKGRAY, fontName='Helvetica', leading=14, spaceAfter=4, alignment=TA_JUSTIFY)
sec_h = S('sech', fontSize=13, textColor=NAVY, fontName='Helvetica-Bold', spaceBefore=10, spaceAfter=4, leading=16)
sub_h = S('subh', fontSize=11, textColor=TEAL, fontName='Helvetica-Bold', spaceBefore=6, spaceAfter=3)
blt = S('blt', fontSize=10, textColor=DARKGRAY, fontName='Helvetica', leading=13, leftIndent=14, spaceAfter=2)
small_c = S('smc', fontSize=8, textColor=MIDGRAY, fontName='Helvetica', alignment=TA_CENTER)
center_it = S('cit', fontSize=9, textColor=MIDGRAY, fontName='Helvetica-Oblique', alignment=TA_CENTER, leading=12)
bold10 = S('b10', fontSize=10, textColor=DARKGRAY, fontName='Helvetica-Bold')
# โโ Helpers โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
def sp(h=8): return Spacer(1, h)
def hline(): return HRFlowable(width="100%", thickness=0.8, color=TEAL, spaceAfter=4, spaceBefore=4)
def P(t, st=body): return Paragraph(t, st)
def B(items): return [P(f"โข {i}", blt) for i in items]
def draw_triangle(canvas, x1,y1, x2,y2, x3,y3, fill_color):
"""Draw a filled triangle using path."""
p = canvas.beginPath()
p.moveTo(x1, y1)
p.lineTo(x2, y2)
p.lineTo(x3, y3)
p.close()
canvas.setFillColor(fill_color)
canvas.drawPath(p, fill=1, stroke=0)
def color_bar(text, bg=NAVY, fg=WHITE, size=12):
t = Table([[P(text, S('cb', fontSize=size, fontName='Helvetica-Bold',
textColor=fg, alignment=TA_CENTER))]], colWidths=[17*cm])
t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),bg),
('PADDING',(0,0),(-1,-1),8)]))
return t
def def_box(label, text, bg=LTBLUE):
t = Table([[P(f"<b>{label}</b>", S('dl', fontSize=10, fontName='Helvetica-Bold',
textColor=NAVY)),
P(text, S('dt', fontSize=10, fontName='Helvetica',
textColor=DARKGRAY, leading=13))]],
colWidths=[4*cm, 13*cm])
t.setStyle(TableStyle([('BACKGROUND',(0,0),(0,0),LTBLUE),
('BACKGROUND',(1,0),(1,0),bg),
('BOX',(0,0),(-1,-1),0.5,TEAL),
('INNERGRID',(0,0),(-1,-1),0.5,colors.HexColor("#ccddee")),
('VALIGN',(0,0),(-1,-1),'TOP'),
('PADDING',(0,0),(-1,-1),6)]))
return t
def tip(text):
t = Table([[P("โญ EXAM TIP", S('tl', fontSize=9, fontName='Helvetica-Bold',
textColor=colors.HexColor("#7b4f00"))),
P(text, S('tt', fontSize=9, fontName='Helvetica',
textColor=DARKGRAY, leading=13))]],
colWidths=[2.5*cm, 14.5*cm])
t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),LTYELLOW),
('BOX',(0,0),(-1,-1),1,GOLD),
('VALIGN',(0,0),(-1,-1),'TOP'),
('PADDING',(0,0),(-1,-1),7)]))
return t
def std_table(data, col_widths, row_colors=None, head_bg=NAVY):
if row_colors is None:
row_colors = [LTBLUE, WHITE]
t = Table(data, colWidths=col_widths)
ts = [('BACKGROUND',(0,0),(-1,0), head_bg),
('TEXTCOLOR',(0,0),(-1,0), WHITE),
('FONTNAME',(0,0),(-1,0),'Helvetica-Bold'),
('FONTNAME',(0,1),(-1,-1),'Helvetica'),
('FONTSIZE',(0,0),(-1,-1),9.5),
('PADDING',(0,0),(-1,-1),6),
('BOX',(0,0),(-1,-1),1,TEAL),
('INNERGRID',(0,0),(-1,-1),0.5,colors.HexColor("#ccddee")),
('VALIGN',(0,0),(-1,-1),'TOP'),
('ROWBACKGROUNDS',(0,1),(-1,-1), row_colors)]
t.setStyle(TableStyle(ts))
return t
# โโ DIAGRAMS โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
class TeachingLearningDiagram(Flowable):
def __init__(self, w=480, h=110): super().__init__(); self.width=w; self.height=h
def wrap(self, *args): return self.width, self.height
def draw(self):
c = self.canv
boxes = [
(NAVY, "TEACHER", "Plans & Delivers"),
(TEAL, "METHODS & MEDIA", "Strategies Used"),
(PURPLE, "LEARNER", "Receives & Responds"),
]
bw, bh = 118, 52
gap = (self.width - 3*bw) / 4
y0 = (self.height - bh) / 2 + 12
for i, (bg, title, sub) in enumerate(boxes):
x = gap + i*(bw + gap)
c.setFillColor(bg)
c.roundRect(x, y0, bw, bh, 6, fill=1, stroke=0)
c.setFillColor(WHITE)
c.setFont("Helvetica-Bold", 9)
c.drawCentredString(x+bw/2, y0+bh-17, title)
c.setFont("Helvetica", 7.5)
c.drawCentredString(x+bw/2, y0+bh-30, sub)
# Forward arrows between boxes
for i in range(2):
x1 = gap + i*(bw+gap) + bw + 2
x2 = gap + (i+1)*(bw+gap) - 2
my = y0 + bh/2 + 5
c.setStrokeColor(GOLD)
c.setLineWidth(2)
c.line(x1, my, x2-7, my)
c.setFillColor(GOLD)
draw_triangle(c, x2-7, my-4, x2-7, my+4, x2+1, my, GOLD)
# Feedback dashed arrow
c.setStrokeColor(MIDGRAY)
c.setLineWidth(1)
c.setDash(4,3)
fx1 = gap + bw/2
fx2 = gap + 2*(bw+gap) + bw/2
fy = y0 - 12
c.line(fx1, fy, fx2, fy)
c.setDash()
c.setFont("Helvetica-Oblique", 7)
c.setFillColor(MIDGRAY)
c.drawCentredString(self.width/2, fy-10, "Feedback & Evaluation")
class LearningTheoriesDiagram(Flowable):
def __init__(self, w=480, h=195): super().__init__(); self.width=w; self.height=h
def wrap(self, *args): return self.width, self.height
def draw(self):
c = self.canv
theories = [
(NAVY, "BEHAVIORISM", "Pavlov ยท Skinner ยท Thorndike", "Stimulus โ Response\nReinforcement", "Skill drills, practice,\nreturn demonstration"),
(TEAL, "COGNITIVISM", "Piaget ยท Bruner", "Mental processes\nMemory, thinking", "Teaching concepts,\npathophysiology"),
(PURPLE, "HUMANISM", "Maslow ยท Carl Rogers", "Self-directed\nNeeds-based learning", "Student-centred\nteaching"),
(RED, "SOCIAL LEARNING", "Albert Bandura", "Observation &\nImitation (role model)", "Watch experienced\nnurses in wards"),
]
bw = self.width/2 - 6
bh = self.height/2 - 6
pos = [(3, self.height/2+3), (self.width/2+3, self.height/2+3),
(3, 3), (self.width/2+3, 3)]
for (bg, title, person, concept, example), (bx, by) in zip(theories, pos):
c.setFillColor(bg)
c.roundRect(bx, by, bw, bh, 5, fill=1, stroke=0)
c.setFillColor(WHITE)
c.setFont("Helvetica-Bold", 9.5)
c.drawCentredString(bx+bw/2, by+bh-16, title)
c.setStrokeColor(colors.HexColor("#ffffff44"))
c.setLineWidth(0.5)
c.line(bx+8, by+bh-20, bx+bw-8, by+bh-20)
c.setFillColor(GOLD)
c.setFont("Helvetica-Oblique", 7.5)
for j, ln in enumerate(person.split('ยท')):
c.drawCentredString(bx+bw/2, by+bh-31-j*10, ln.strip())
c.setFillColor(WHITE)
c.setFont("Helvetica", 7.5)
for j, ln in enumerate(concept.split('\n')):
c.drawCentredString(bx+bw/2, by+bh-55-j*10, ln)
c.setFillColor(GOLD)
c.setFont("Helvetica-Bold", 7)
c.drawCentredString(bx+bw/2, by+25, "Nursing eg:")
c.setFillColor(WHITE)
c.setFont("Helvetica", 7)
for j, ln in enumerate(example.split('\n')):
c.drawCentredString(bx+bw/2, by+15-j*9, ln)
class KolbCycleDiagram(Flowable):
def __init__(self, w=440, h=220): super().__init__(); self.width=w; self.height=h
def wrap(self, *args): return self.width, self.height
def draw(self):
c = self.canv
cx, cy = self.width/2, self.height/2
r = 78
stages = [
("Concrete\nExperience", 0, NAVY),
("Reflective\nObservation", 90, TEAL),
("Abstract\nConceptualization", 180, PURPLE),
("Active\nExperimentation", 270, RED),
]
# Centre circle
c.setFillColor(LTBLUE)
c.setStrokeColor(TEAL)
c.setLineWidth(1.5)
c.circle(cx, cy, 38, fill=1, stroke=1)
c.setFillColor(NAVY)
c.setFont("Helvetica-Bold", 8)
c.drawCentredString(cx, cy+4, "KOLB'S")
c.drawCentredString(cx, cy-7, "CYCLE")
for label, angle_deg, color in stages:
angle = math.radians(angle_deg)
bx = cx + r * math.cos(angle)
by = cy + r * math.sin(angle)
bw, bh = 82, 40
c.setFillColor(color)
c.roundRect(bx-bw/2, by-bh/2, bw, bh, 4, fill=1, stroke=0)
c.setFillColor(WHITE)
c.setFont("Helvetica-Bold", 8)
lines = label.split('\n')
for j, ln in enumerate(lines):
c.drawCentredString(bx, by + 6 - j*12, ln)
# Arrow from box edge toward center
dx, dy = cx-bx, cy-by
dist = math.sqrt(dx*dx+dy*dy)
nx, ny = dx/dist, dy/dist
ax1 = bx + nx*44
ay1 = by + ny*22
ax2 = bx + nx*(dist-42)
ay2 = by + ny*(dist-42)
c.setStrokeColor(GOLD)
c.setLineWidth(1.5)
c.line(ax1, ay1, ax2, ay2)
# Arrowhead
pa = math.atan2(ay2-ay1, ax2-ax1)
aw = 5
draw_triangle(c,
ax2 - aw*math.cos(pa-math.pi/6), ay2 - aw*math.sin(pa-math.pi/6),
ax2 - aw*math.cos(pa+math.pi/6), ay2 - aw*math.sin(pa+math.pi/6),
ax2 + 2*math.cos(pa), ay2 + 2*math.sin(pa), GOLD)
class MaslowPyramid(Flowable):
def __init__(self, w=420, h=210): super().__init__(); self.width=w; self.height=h
def wrap(self, *args): return self.width, self.height
def draw(self):
c = self.canv
levels = [
(RED, "Self-Actualisation", "Reach full potential - learning, creativity"),
(ORANGE, "Esteem Needs", "Respect, achievement, recognition"),
(GOLD, "Social / Love Needs", "Belonging, friendship, acceptance"),
(TEAL, "Safety Needs", "Security, stability, freedom from fear"),
(NAVY, "Physiological Needs", "Food, water, sleep, warmth (BASIC)"),
]
n = len(levels)
base_w = self.width * 0.82
top_w = 55
lh = (self.height - 22) / n
cx = self.width / 2
for i, (color, name, desc) in enumerate(levels):
# i=0 is TOP (smallest)
lw = top_w + (base_w - top_w) * (n-1-i) / (n-1)
lx = cx - lw/2
ly = (n-1-i) * lh + 4
c.setFillColor(color)
c.setStrokeColor(WHITE)
c.setLineWidth(1.2)
c.rect(lx, ly, lw, lh-2, fill=1, stroke=1)
c.setFillColor(WHITE)
c.setFont("Helvetica-Bold", 8.5)
c.drawCentredString(cx, ly+lh/2+2, name)
c.setFont("Helvetica", 7)
c.drawCentredString(cx, ly+lh/2-8, desc)
# Title
c.setFillColor(DARKGRAY)
c.setFont("Helvetica-Bold", 9)
c.drawCentredString(cx, self.height-12, "MASLOW'S HIERARCHY OF NEEDS")
# Side arrow
ax = cx + base_w/2 + 14
c.setStrokeColor(GOLD); c.setLineWidth(2); c.setFillColor(GOLD)
c.line(ax, 4, ax, self.height-24)
draw_triangle(c, ax-4, self.height-24, ax+4, self.height-24, ax, self.height-16, GOLD)
c.saveState()
c.translate(ax+16, self.height/2-10)
c.rotate(90)
c.setFont("Helvetica-Bold", 7.5)
c.setFillColor(GOLD)
c.drawCentredString(0, 0, "Learning needs increase")
c.restoreState()
class PhilosophyDiagram(Flowable):
def __init__(self, w=480, h=145): super().__init__(); self.width=w; self.height=h
def wrap(self, *args): return self.width, self.height
def draw(self):
c = self.canv
phils = [
(NAVY, "IDEALISM", "Mind & Ideas", "Guide/Inspirer", "Active Thinker"),
(TEAL, "REALISM", "Real World/Facts", "Subject Expert", "Observer"),
(PURPLE, "PRAGMATISM โ
", "Learning by Doing","Facilitator", "Active Doer"),
(GREEN, "EXISTENTIALISM", "Freedom & Choice", "Encourages Self", "Self-directed"),
(RED, "NATURALISM", "Nature is Teacher", "Observer", "Free Explorer"),
]
n = len(phils)
bw = (self.width - (n-1)*3) / n
# Row heights
header_h = 22
row_h = (self.height - header_h) / 3
rows_data = [(LTBLUE, "Key Belief", 0),
(LTGREEN, "Teacher Role", 1),
(LTYELLOW, "Student Role", 2)]
for i, (bg, name, belief, teacher, student) in enumerate(phils):
x = i*(bw+3)
# Header
c.setFillColor(bg)
c.roundRect(x, self.height-header_h, bw, header_h-2, 3, fill=1, stroke=0)
c.setFillColor(WHITE)
c.setFont("Helvetica-Bold", 6.5)
c.drawCentredString(x+bw/2, self.height-12, name)
vals = [belief, teacher, student]
for j, (rc, _, row_idx) in enumerate(rows_data):
ry = self.height - header_h - (j+1)*row_h
c.setFillColor(rc)
c.rect(x, ry, bw, row_h-1, fill=1, stroke=0)
c.setFillColor(DARKGRAY)
c.setFont("Helvetica", 6.5)
words = vals[j].split()
lines, cur = [], ""
for w in words:
test = (cur+" "+w).strip()
if c.stringWidth(test,"Helvetica",6.5) < bw-4:
cur = test
else:
lines.append(cur); cur=w
lines.append(cur)
total = len(lines)*8
sy = ry + row_h/2 + total/2 - 7
for k, ln in enumerate(lines):
c.drawCentredString(x+bw/2, sy-k*8, ln)
# Row labels on far right
c.setFillColor(MIDGRAY); c.setFont("Helvetica-Oblique", 6.5)
for j, (_, lbl, _) in enumerate(rows_data):
ry = self.height - header_h - (j+1)*row_h + row_h/2 - 3
# skip for cleanliness
# โโ BUILD โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
def build():
doc = SimpleDocTemplate(OUTPUT, pagesize=A4,
leftMargin=2*cm, rightMargin=2*cm,
topMargin=2*cm, bottomMargin=2*cm,
title="Nursing Education Unit I Study Guide")
s = [] # story
# โโ COVER โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
cover = Table([
[P("๐ NURSING EDUCATION", S('c1', fontSize=22, textColor=WHITE,
fontName='Helvetica-Bold', alignment=TA_CENTER, leading=26))],
[P("B.Sc. Nursing ยท 5th Semester ยท Bhushan Science", S('c2', fontSize=11,
textColor=GOLD, fontName='Helvetica', alignment=TA_CENTER))],
[sp(6)],
[P("UNIT I", S('c3', fontSize=30, textColor=WHITE,
fontName='Helvetica-Bold', alignment=TA_CENTER, leading=34))],
[P("Introduction and Theoretical Foundations", S('c4', fontSize=14,
textColor=GOLD, fontName='Helvetica-Oblique', alignment=TA_CENTER))],
[sp(6)],
[P("Complete Study Guide with Diagrams", S('c5', fontSize=10,
textColor=colors.HexColor("#aaccee"), fontName='Helvetica', alignment=TA_CENTER))],
], colWidths=[17*cm])
cover.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),NAVY),
('PADDING',(0,0),(-1,-1),10)]))
s += [cover, sp(14)]
# Contents mini-table
toc = std_table([
[P("<b>CONTENTS</b>", S('toc0',fontSize=11,fontName='Helvetica-Bold',textColor=WHITE,alignment=TA_CENTER)), ""],
["Part 1", "Education & Educational Technology"],
["Part 2", "Latest Approaches to Education (CBE, Transformational, Relationship-based)"],
["Part 3", "Educational Philosophy + Diagram"],
["Part 4", "Teaching-Learning Process + Diagram"],
["Part 5", "Principles of Teaching & Learning"],
["Part 6", "Barriers to Teaching & Learning"],
["Part 7", "Learning Theories โ
+ Diagram"],
["Part 8", "Maslow's Hierarchy + Kolb's Cycle Diagram"],
["Part 9", "Quick Revision Box + Practice Questions"],
], [3*cm, 14*cm], head_bg=TEAL)
s += [toc, sp(6)]
# โโ PART 1 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
s += [P("PART 1 โ Education & Educational Technology", sec_h), hline(),
def_box("Education",
"The process of bringing <b>desirable changes in behavior</b> โ in "
"knowledge, skills and attitudes โ through planned experiences."), sp(5),
def_box("Educational Technology",
"The <b>systematic application of scientific knowledge</b> about "
"teaching and learning to improve effectiveness. NOT just gadgets โ "
"includes methods, media, and strategies used scientifically.", LTGREEN), sp(5)]
s += [P("Etymology of 'Education'", sub_h)]
s += [std_table([
[P("<b>Latin Word</b>", S('eh',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Meaning</b>", S('em',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))],
["Educatum", "To educate"],
["Educare", "To bring forth / to develop from within"],
["Educere", "To lead out / to push forward"],
], [5*cm, 12*cm]), sp(5)]
s += [P("Aims of Educational Technology", sub_h)]
s += B(["Make teaching-learning more <b>effective and systematic</b>",
"Help teachers select <b>appropriate methods and media</b>",
"Improve <b>student learning outcomes</b>",
"Apply <b>scientific principles</b> to education",
"Develop <b>competency-based, learner-centred</b> education"])
s += [sp(6)]
# โโ PART 2 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
s += [P("PART 2 โ Latest Approaches to Education", sec_h), hline()]
s += [std_table([
[P("<b>Approach</b>",S('a0',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Key Idea</b>",S('a1',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Nursing Relevance</b>",S('a2',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))],
["Transformational Education",
"Deep change in thinking, values & behavior. Student becomes a critical thinker.",
"Nurse develops clinical judgment, not just technical skills"],
["Relationship-Based Education",
"Learning happens through trust and connection between teacher and student.",
"Mirrors therapeutic nurse-patient relationship"],
["Competency-Based Education (CBE) โ
",
"Focus on demonstrating specific skills/competencies, not just passing exams.",
"INC now follows CBE โ assessed on what you CAN DO, not just what you know"],
], [4.5*cm, 7*cm, 5.5*cm], row_colors=[LTBLUE, WHITE, LTGREEN]), sp(6),
tip("CBE is the INC's current model. Expected exam Q: 'What is CBE? How is it applied in nursing education?'")]
s += [sp(6), PageBreak()]
# โโ PART 3 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
s += [P("PART 3 โ Educational Philosophy", sec_h), hline(),
def_box("Philosophy",
"From Greek: <b>Philo</b> (love) + <b>Sophia</b> (wisdom) = Love of Wisdom. "
"It examines fundamental questions about knowledge, values, and existence."), sp(6),
P("Major Educational Philosophies โ Comparison Diagram", sub_h), sp(4),
PhilosophyDiagram(), sp(6),
tip("โ
PRAGMATISM is most relevant to nursing โ 'learning by doing' = clinical practice, "
"skill labs, simulation. CBE itself is rooted in pragmatist philosophy."), sp(6)]
s += [P("Philosophy of Nursing Education โ Key Beliefs", sub_h)]
s += B(["Every person has <b>dignity and worth</b>",
"Nursing is both an <b>art and a science</b>",
"Education must develop the <b>whole person</b> โ cognitive, affective, psychomotor",
"Nurses must be <b>lifelong learners</b> โ education does not stop after graduation",
"Nursing practice must be <b>evidence-based</b>",
"Health care must be <b>holistic</b> โ physical, psychological, social, spiritual"])
s += [sp(6), PageBreak()]
# โโ PART 4 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
s += [P("PART 4 โ Teaching-Learning Process", sec_h), hline(),
def_box("Teaching",
"A purposeful process where the teacher <b>guides, facilitates and assists</b> "
"the learner to achieve desired learning outcomes through planned activities."), sp(4),
def_box("Learning",
"A relatively <b>permanent change in behavior</b> โ in knowledge, skills or "
"attitudes โ as a result of experience, practice, or instruction.", LTGREEN), sp(8),
P("Teaching-Learning Process Diagram", sub_h), sp(4),
TeachingLearningDiagram(), sp(10)]
s += [P("Nature & Characteristics", sub_h)]
s += [std_table([
[P("<b>Teaching</b>",S('th',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Learning</b>",S('lh',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))],
["Purposeful and goal-directed", "Produces a permanent change in behavior"],
["Social and interactive process", "Results from practice or experience"],
["Both an art and a science", "It is an active process"],
["Requires planning and preparation", "Affected by motivation and readiness"],
["Involves effective communication", "Change must be observable and measurable"],
], [8.5*cm, 8.5*cm], head_bg=TEAL), sp(8)]
s += [PageBreak()]
# โโ PART 5 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
s += [P("PART 5 โ Principles of Teaching & Learning", sec_h), hline(),
P("Principles of Teaching", sub_h)]
s += [std_table([
[P("<b>Principle</b>",S('p0',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Meaning</b>", S('p1',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))],
["Principle of Activity", "Learner must be active, not a passive listener"],
["Principle of Motivation", "Motivated learners learn better and retain more"],
["Principle of Readiness", "Teach only when the learner is mentally ready"],
["Principle of Individual Diff.", "Every student has different pace and style"],
["Principle of Reinforcement", "Reward correct responses to strengthen learning"],
["Principle of Planning", "Teaching must be well-planned with clear objectives"],
["Principle of Evaluation", "Always assess what was learned after teaching"],
], [5*cm, 12*cm]), sp(6)]
s += [P("Thorndike's Laws of Learning โ
(Must Know!)", sub_h)]
s += [std_table([
[P("<b>Law</b>", S('l0',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Meaning</b>",S('l1',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))],
["Law of Readiness โ
", "Learning occurs when the learner is mentally & physically ready"],
["Law of Exercise โ
", "Repetition / practice makes learning permanent"],
["Law of Effect โ
", "Learning strengthened by pleasant outcomes, weakened by unpleasant"],
["Primacy", "What is learned FIRST is remembered best"],
["Recency", "What is learned MOST RECENTLY is also well retained"],
["Intensity", "Vivid, dramatic, real experiences are learned better"],
], [5*cm, 12*cm], head_bg=TEAL), sp(6)]
s += [PageBreak()]
# โโ PART 6 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
s += [P("PART 6 โ Barriers to Teaching & Learning", sec_h), hline()]
s += [std_table([
[P("<b>Teacher-Related</b>", S('b0',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Student-Related</b>", S('b1',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Environment-Related</b>",S('b2',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))],
["Poor communication skills", "Lack of motivation", "Noisy classroom"],
["No preparation / planning", "Fear and anxiety", "Poor lighting"],
["Monotonous delivery", "Language barrier", "Overcrowded class"],
["No feedback given", "Poor health status", "Lack of resources"],
["Negative attitude", "Low self-confidence", "Uncomfortable seating"],
], [5.7*cm, 5.6*cm, 5.7*cm],
row_colors=[colors.HexColor("#f5f5f5"), WHITE]), sp(6)]
# โโ PART 7 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
s += [P("PART 7 โ Learning Theories โ
(High Priority)", sec_h), hline(),
sp(4), LearningTheoriesDiagram(), sp(10)]
s += [std_table([
[P("<b>Theory</b>", S('t0',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Key Person(s)</b>", S('t1',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Core Idea</b>", S('t2',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Nursing Example</b>",S('t3',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE))],
["Behaviorism", "Pavlov, Skinner, Thorndike",
"Stimulus โ Response; reinforcement shapes behavior",
"Skill drills, return demonstration, positive feedback"],
["Cognitivism", "Piaget, Bruner",
"Learning = mental processes: memory, thinking, perception",
"Teaching pathophysiology, case-based reasoning"],
["Humanism", "Maslow, Carl Rogers",
"Self-directed; lower needs must be met before learning",
"Student-centred teaching, addressing student's basic needs"],
["Social Learning","Albert Bandura",
"Learning by observation and imitation (role modelling)",
"Students learn by watching experienced nurses in wards"],
], [3.5*cm, 4*cm, 5.5*cm, 4*cm]), sp(6)]
s += [tip("Apply learning theories: BEHAVIORISM = clinical skills practice; "
"HUMANISM = patient education (Maslow); SOCIAL LEARNING = ward role modelling.")]
s += [sp(6), PageBreak()]
# โโ PART 8 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
s += [P("PART 8 โ Maslow's Hierarchy & Kolb's Cycle", sec_h), hline(),
P("Maslow's Hierarchy of Needs (Humanistic Theory)", sub_h), sp(6),
MaslowPyramid(), sp(4),
P("A student who is hungry, unsafe, or anxious CANNOT learn effectively. "
"The teacher must ensure lower needs are met first.", center_it), sp(12),
P("Latest Approaches to Learning", sub_h)]
s += [std_table([
[P("<b>Approach</b>", S('al0',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Meaning</b>", S('al1',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Nursing Example</b>",S('al2',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE))],
["Experiential Learning", "Learn through direct experience + reflection (Kolb's Cycle)",
"Clinical postings, case studies"],
["Reflective Learning", "Think critically about own experience to improve practice",
"Post-clinical debriefing, journaling, process recording"],
["Scenario-Based Learning", "Use realistic clinical scenarios to develop decision-making",
"OSCE stations, case vignettes"],
["Simulation-Based Learning","Practice in a SAFE environment using mannequins/simulators",
"Skill lab, manikin procedures"],
["Blended Learning", "Face-to-face + online/digital learning combined",
"Lectures + e-modules + YouTube videos"],
], [4*cm, 7.5*cm, 5.5*cm]), sp(8)]
s += [P("Kolb's Experiential Learning Cycle โ
Diagram", sub_h), sp(4),
KolbCycleDiagram(), sp(4),
P("Cycle: Concrete Experience โ Reflective Observation โ "
"Abstract Conceptualization โ Active Experimentation โ back to new experience. "
"This forms the basis of clinical nursing education.", center_it), sp(8)]
s += [PageBreak()]
# โโ PART 9: Revision โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
s += [color_bar("โก QUICK REVISION BOX โ Unit I", TEAL), sp(8)]
s += [std_table([
[P("<b>Topic</b>", S('qh0',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),
P("<b>Key Point to Remember</b>",S('qh1',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))],
["Education", "Desirable change in behavior (knowledge, skill, attitude)"],
["Educare (Latin)", "To bring forth / to develop"],
["Educational Technology", "Systematic application of science to teaching-learning"],
["CBE โ
", "Focus on demonstrating competencies โ INC follows this now"],
["Transformational Ed.", "Deep change in thinking, values and behavior"],
["Pragmatism โ
", "Learning by doing โ most relevant to nursing education"],
["Teaching", "Guiding learner to achieve desired learning outcomes"],
["Learning", "Permanent change in behavior from experience or practice"],
["Law of Readiness โ
", "Learning occurs when learner is mentally ready (Thorndike)"],
["Law of Effect โ
", "Pleasant outcomes strengthen learning (Thorndike)"],
["Behaviorism", "Stimulus-Response; Skinner, Pavlov, Thorndike"],
["Cognitivism", "Mental processes; Piaget, Bruner"],
["Humanism", "Self-directed, needs-based; Maslow, Carl Rogers"],
["Social Learning", "Observation & imitation; Albert Bandura"],
["Kolb's Cycle", "Experience โ Reflection โ Conceptualize โ Experiment"],
["Blended Learning", "Face-to-face classroom + online learning combined"],
["Simulation-Based", "Safe practice using mannequins/simulators in skill lab"],
], [5*cm, 12*cm]), sp(12)]
# Practice Questions
s += [color_bar("๐ PRACTICE QUESTIONS โ Unit I", PURPLE), sp(8),
P("<b>Long Answer Questions (10 marks)</b>", sub_h), sp(4)]
for i, q in enumerate([
"Define Educational Technology. Explain its scope and importance in nursing education.",
"Describe the major learning theories with key persons, core principles, and application to nursing.",
"What is Competency-Based Education (CBE)? How is it applied in nursing education in India?",
"Explain the teaching-learning process with a diagram. Describe the principles of teaching.",
"Write a note on Kolb's Experiential Learning Cycle with a diagram and its application in clinical nursing.",
], 1):
s += [P(f"<b>Q{i}.</b> {q}", S(f'lq{i}', fontSize=10, fontName='Helvetica',
textColor=DARKGRAY, leading=14, leftIndent=8, spaceAfter=5))]
s += [sp(6), P("<b>Short Answer Questions (5 marks)</b>", sub_h), sp(4)]
for i, q in enumerate([
"Differentiate between teaching and learning.",
"What are the latest approaches to education? (Transformational, Relationship-based, CBE)",
"Write short notes on: (a) Pragmatism in nursing (b) Humanistic theory",
"Explain Maslow's hierarchy of needs and its relevance to learning.",
"What is blended learning? Give 3 examples in nursing.",
"Differentiate: Experiential learning vs Simulation-based learning.",
], 1):
s += [P(f"<b>Q{i}.</b> {q}", S(f'sq{i}', fontSize=10, fontName='Helvetica',
textColor=DARKGRAY, leading=14, leftIndent=8, spaceAfter=5))]
s += [sp(6), P("<b>One-Line / Definition Questions</b>", sub_h), sp(4)]
for i, q in enumerate([
"Define: Education / Educational Technology / CBE / Blended learning",
"Name the 4 learning theories and their key persons.",
"What are Thorndike's 3 main Laws of Learning?",
"Name 5 barriers to learning.",
"What does 'Educare' mean? Which philosopher said 'education is learning by doing'?",
], 1):
s += [P(f"<b>Q{i}.</b> {q}", S(f'oq{i}', fontSize=10, fontName='Helvetica',
textColor=DARKGRAY, leading=14, leftIndent=8, spaceAfter=5))]
s += [sp(16), HRFlowable(width="100%", thickness=0.5,
color=colors.HexColor("#cccccc"), spaceAfter=4),
P("Study Guide prepared by Orris AI Tutor ยท B.Sc. Nursing 5th Sem ยท Nursing Education Unit I",
small_c)]
doc.build(s)
print("Done:", OUTPUT)
build()
Is it done
cat > /home/daytona/workspace/nursing-education/unit1_study_guide.py << 'PYEOF' import math from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import cm from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, PageBreak) from reportlab.platypus import Flowable from reportlab.lib.enums import TA_CENTER, TA_JUSTIFY OUTPUT = "/home/daytona/workspace/nursing-education/Unit1_Nursing_Education_Study_Guide.pdf" NAVY=colors.HexColor("#1a3a5c"); TEAL=colors.HexColor("#0d7377"); GOLD=colors.HexColor("#f0a500") LTBLUE=colors.HexColor("#e8f4f8"); LTGREEN=colors.HexColor("#e8f8f0"); LTYELLOW=colors.HexColor("#fff8e1") PURPLE=colors.HexColor("#6a1b9a"); WHITE=colors.white; DARKGRAY=colors.HexColor("#333333") MIDGRAY=colors.HexColor("#888888"); RED=colors.HexColor("#c0392b"); ORANGE=colors.HexColor("#e67e22") GREEN=colors.HexColor("#1b5e20") styles=getSampleStyleSheet() def S(n,**k): return ParagraphStyle(n,parent=styles['Normal'],**k) body=S('body',fontSize=10,textColor=DARKGRAY,fontName='Helvetica',leading=14,spaceAfter=4,alignment=TA_JUSTIFY) sec_h=S('sech',fontSize=13,textColor=NAVY,fontName='Helvetica-Bold',spaceBefore=10,spaceAfter=4,leading=16) sub_h=S('subh',fontSize=11,textColor=TEAL,fontName='Helvetica-Bold',spaceBefore=6,spaceAfter=3) blt=S('blt',fontSize=10,textColor=DARKGRAY,fontName='Helvetica',leading=13,leftIndent=14,spaceAfter=2) small_c=S('smc',fontSize=8,textColor=MIDGRAY,fontName='Helvetica',alignment=TA_CENTER) center_it=S('cit',fontSize=9,textColor=MIDGRAY,fontName='Helvetica-Oblique',alignment=TA_CENTER,leading=12) def sp(h=8): return Spacer(1,h) def hline(): return HRFlowable(width="100%",thickness=0.8,color=TEAL,spaceAfter=4,spaceBefore=4) def P(t,st=body): return Paragraph(t,st) def B(items): return [P(f"โข {i}",blt) for i in items] def tri(c,x1,y1,x2,y2,x3,y3,fc): p=c.beginPath(); p.moveTo(x1,y1); p.lineTo(x2,y2); p.lineTo(x3,y3); p.close() c.setFillColor(fc); c.drawPath(p,fill=1,stroke=0) def color_bar(text,bg=NAVY,fg=WHITE,sz=12): t=Table([[P(text,S('cb',fontSize=sz,fontName='Helvetica-Bold',textColor=fg,alignment=TA_CENTER))]],colWidths=[17*cm]) t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),bg),('PADDING',(0,0),(-1,-1),8)])) return t def def_box(label,text,bg=LTBLUE): t=Table([[P(f"<b>{label}</b>",S('dl',fontSize=10,fontName='Helvetica-Bold',textColor=NAVY)), P(text,S('dt',fontSize=10,fontName='Helvetica',textColor=DARKGRAY,leading=13))]], colWidths=[4*cm,13*cm]) t.setStyle(TableStyle([('BACKGROUND',(0,0),(0,0),LTBLUE),('BACKGROUND',(1,0),(1,0),bg), ('BOX',(0,0),(-1,-1),0.5,TEAL),('INNERGRID',(0,0),(-1,-1),0.5,colors.HexColor("#ccddee")), ('VALIGN',(0,0),(-1,-1),'TOP'),('PADDING',(0,0),(-1,-1),6)])) return t def tip(text): t=Table([[P("EXAM TIP",S('tl',fontSize=9,fontName='Helvetica-Bold',textColor=colors.HexColor("#7b4f00"))), P(text,S('tt',fontSize=9,fontName='Helvetica',textColor=DARKGRAY,leading=13))]], colWidths=[2.5*cm,14.5*cm]) t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),LTYELLOW),('BOX',(0,0),(-1,-1),1,GOLD), ('VALIGN',(0,0),(-1,-1),'TOP'),('PADDING',(0,0),(-1,-1),7)])) return t def std_table(data,cw,hbg=NAVY,rc=None): if rc is None: rc=[LTBLUE,WHITE] t=Table(data,colWidths=cw) t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,0),hbg),('TEXTCOLOR',(0,0),(-1,0),WHITE), ('FONTNAME',(0,0),(-1,0),'Helvetica-Bold'),('FONTNAME',(0,1),(-1,-1),'Helvetica'), ('FONTSIZE',(0,0),(-1,-1),9.5),('PADDING',(0,0),(-1,-1),6), ('BOX',(0,0),(-1,-1),1,TEAL),('INNERGRID',(0,0),(-1,-1),0.5,colors.HexColor("#ccddee")), ('VALIGN',(0,0),(-1,-1),'TOP'),('ROWBACKGROUNDS',(0,1),(-1,-1),rc)])) return t class TLDiagram(Flowable): def __init__(self,w=480,h=110): super().__init__(); self.width=w; self.height=h def wrap(self,*a): return self.width,self.height def draw(self): c=self.canv; bw,bh=118,52 boxes=[(NAVY,"TEACHER","Plans & Delivers"),(TEAL,"METHODS & MEDIA","Strategies Used"),(PURPLE,"LEARNER","Receives & Responds")] gap=(self.width-3*bw)/4; y0=(self.height-bh)/2+12 for i,(bg,title,sub) in enumerate(boxes): x=gap+i*(bw+gap); c.setFillColor(bg); c.roundRect(x,y0,bw,bh,6,fill=1,stroke=0) c.setFillColor(WHITE); c.setFont("Helvetica-Bold",9); c.drawCentredString(x+bw/2,y0+bh-17,title) c.setFont("Helvetica",7.5); c.drawCentredString(x+bw/2,y0+bh-30,sub) for i in range(2): x1=gap+i*(bw+gap)+bw+2; x2=gap+(i+1)*(bw+gap)-2; my=y0+bh/2+5 c.setStrokeColor(GOLD); c.setLineWidth(2); c.line(x1,my,x2-7,my) tri(c,x2-7,my-4,x2-7,my+4,x2+1,my,GOLD) c.setStrokeColor(MIDGRAY); c.setLineWidth(1); c.setDash(4,3) fx1=gap+bw/2; fx2=gap+2*(bw+gap)+bw/2; fy=y0-12 c.line(fx1,fy,fx2,fy); c.setDash() c.setFont("Helvetica-Oblique",7); c.setFillColor(MIDGRAY) c.drawCentredString(self.width/2,fy-10,"Feedback & Evaluation") class TheoriesDiagram(Flowable): def __init__(self,w=480,h=195): super().__init__(); self.width=w; self.height=h def wrap(self,*a): return self.width,self.height def draw(self): c=self.canv th=[(NAVY,"BEHAVIORISM","Pavlov ยท Skinner ยท Thorndike","Stimulus-Response\nReinforcement","Skill drills,\nreturn demo"), (TEAL,"COGNITIVISM","Piaget ยท Bruner","Mental processes\nMemory, thinking","Teaching concepts,\npathophysiology"), (PURPLE,"HUMANISM","Maslow ยท Carl Rogers","Self-directed\nNeeds-based","Student-centred\nteaching"), (RED,"SOCIAL LEARNING","Albert Bandura","Observation &\nImitation","Watch experienced\nnurses in wards")] bw=self.width/2-6; bh=self.height/2-6 pos=[(3,self.height/2+3),(self.width/2+3,self.height/2+3),(3,3),(self.width/2+3,3)] for (bg,title,person,concept,example),(bx,by) in zip(th,pos): c.setFillColor(bg); c.roundRect(bx,by,bw,bh,5,fill=1,stroke=0) c.setFillColor(WHITE); c.setFont("Helvetica-Bold",9.5); c.drawCentredString(bx+bw/2,by+bh-16,title) c.setStrokeColor(colors.HexColor("#ffffff44")); c.setLineWidth(0.5); c.line(bx+8,by+bh-20,bx+bw-8,by+bh-20) c.setFillColor(GOLD); c.setFont("Helvetica-Oblique",7.5) for j,ln in enumerate(person.split('ยท')): c.drawCentredString(bx+bw/2,by+bh-31-j*10,ln.strip()) c.setFillColor(WHITE); c.setFont("Helvetica",7.5) for j,ln in enumerate(concept.split('\n')): c.drawCentredString(bx+bw/2,by+bh-55-j*10,ln) c.setFillColor(GOLD); c.setFont("Helvetica-Bold",7); c.drawCentredString(bx+bw/2,by+25,"Nursing eg:") c.setFillColor(WHITE); c.setFont("Helvetica",7) for j,ln in enumerate(example.split('\n')): c.drawCentredString(bx+bw/2,by+15-j*9,ln) class KolbDiagram(Flowable): def __init__(self,w=440,h=220): super().__init__(); self.width=w; self.height=h def wrap(self,*a): return self.width,self.height def draw(self): c=self.canv; cx,cy=self.width/2,self.height/2; r=78 stages=[("Concrete\nExperience",0,NAVY),("Reflective\nObservation",90,TEAL), ("Abstract\nConceptualization",180,PURPLE),("Active\nExperimentation",270,RED)] c.setFillColor(LTBLUE); c.setStrokeColor(TEAL); c.setLineWidth(1.5); c.circle(cx,cy,38,fill=1,stroke=1) c.setFillColor(NAVY); c.setFont("Helvetica-Bold",8); c.drawCentredString(cx,cy+4,"KOLB'S"); c.drawCentredString(cx,cy-7,"CYCLE") for label,adeg,color in stages: ang=math.radians(adeg); bx=cx+r*math.cos(ang); by=cy+r*math.sin(ang); bw2,bh2=82,40 c.setFillColor(color); c.roundRect(bx-bw2/2,by-bh2/2,bw2,bh2,4,fill=1,stroke=0) c.setFillColor(WHITE); c.setFont("Helvetica-Bold",8) for j,ln in enumerate(label.split('\n')): c.drawCentredString(bx,by+6-j*12,ln) dx,dy=cx-bx,cy-by; dist=math.sqrt(dx*dx+dy*dy); nx,ny=dx/dist,dy/dist ax1=bx+nx*44; ay1=by+ny*22; ax2=bx+nx*(dist-42); ay2=by+ny*(dist-42) c.setStrokeColor(GOLD); c.setLineWidth(1.5); c.line(ax1,ay1,ax2,ay2) pa=math.atan2(ay2-ay1,ax2-ax1); aw=5 tri(c,ax2-aw*math.cos(pa-math.pi/6),ay2-aw*math.sin(pa-math.pi/6), ax2-aw*math.cos(pa+math.pi/6),ay2-aw*math.sin(pa+math.pi/6), ax2+2*math.cos(pa),ay2+2*math.sin(pa),GOLD) class MaslowDiagram(Flowable): def __init__(self,w=420,h=210): super().__init__(); self.width=w; self.height=h def wrap(self,*a): return self.width,self.height def draw(self): c=self.canv levels=[(RED,"Self-Actualisation","Reach full potential"),(ORANGE,"Esteem Needs","Respect, achievement"), (GOLD,"Social / Love Needs","Belonging, friendship"),(TEAL,"Safety Needs","Security, stability"), (NAVY,"Physiological Needs","Food, water, sleep (BASIC)")] n=len(levels); base_w=self.width*0.82; top_w=55; lh=(self.height-22)/n; cx=self.width/2 for i,(color,name,desc) in enumerate(levels): lw=top_w+(base_w-top_w)*(n-1-i)/(n-1); lx=cx-lw/2; ly=(n-1-i)*lh+4 c.setFillColor(color); c.setStrokeColor(WHITE); c.setLineWidth(1.2) c.rect(lx,ly,lw,lh-2,fill=1,stroke=1) c.setFillColor(WHITE); c.setFont("Helvetica-Bold",8.5); c.drawCentredString(cx,ly+lh/2+2,name) c.setFont("Helvetica",7); c.drawCentredString(cx,ly+lh/2-8,desc) c.setFillColor(DARKGRAY); c.setFont("Helvetica-Bold",9); c.drawCentredString(cx,self.height-12,"MASLOW'S HIERARCHY OF NEEDS") ax=cx+base_w/2+14; c.setStrokeColor(GOLD); c.setLineWidth(2); c.line(ax,4,ax,self.height-24) tri(c,ax-4,self.height-24,ax+4,self.height-24,ax,self.height-16,GOLD) c.saveState(); c.translate(ax+16,self.height/2-10); c.rotate(90) c.setFont("Helvetica-Bold",7.5); c.setFillColor(GOLD); c.drawCentredString(0,0,"Learning needs increase"); c.restoreState() class PhilosophyDiagram(Flowable): def __init__(self,w=480,h=145): super().__init__(); self.width=w; self.height=h def wrap(self,*a): return self.width,self.height def draw(self): c=self.canv phils=[(NAVY,"IDEALISM","Mind & Ideas","Guide/Inspirer","Active Thinker"), (TEAL,"REALISM","Real World","Subject Expert","Observer"), (PURPLE,"PRAGMATISM*","Learning by Doing","Facilitator","Active Doer"), (GREEN,"EXISTENTIALISM","Freedom & Choice","Encourages Self","Self-directed"), (RED,"NATURALISM","Nature = Teacher","Observer","Free Explorer")] n=len(phils); bw=(self.width-(n-1)*3)/n; hdr=22; row_h=(self.height-hdr)/3 row_colors=[LTBLUE,LTGREEN,LTYELLOW] for i,(bg,name,belief,teacher,student) in enumerate(phils): x=i*(bw+3) c.setFillColor(bg); c.roundRect(x,self.height-hdr,bw,hdr-2,3,fill=1,stroke=0) c.setFillColor(WHITE); c.setFont("Helvetica-Bold",6.5); c.drawCentredString(x+bw/2,self.height-12,name) for j,(val,rc) in enumerate(zip([belief,teacher,student],row_colors)): ry=self.height-hdr-(j+1)*row_h; c.setFillColor(rc); c.rect(x,ry,bw,row_h-1,fill=1,stroke=0) c.setFillColor(DARKGRAY); c.setFont("Helvetica",6.5) words=val.split(); lines=[]; cur="" for w in words: test=(cur+" "+w).strip() if c.stringWidth(test,"Helvetica",6.5)<bw-4: cur=test else: lines.append(cur); cur=w lines.append(cur) sy=ry+row_h/2+len(lines)*4-4 for k,ln in enumerate(lines): c.drawCentredString(x+bw/2,sy-k*8,ln) def build(): doc=SimpleDocTemplate(OUTPUT,pagesize=A4,leftMargin=2*cm,rightMargin=2*cm,topMargin=2*cm,bottomMargin=2*cm,title="Nursing Education Unit I") s=[] # COVER cover=Table([ [P("NURSING EDUCATION",S('c1',fontSize=22,textColor=WHITE,fontName='Helvetica-Bold',alignment=TA_CENTER,leading=26))], [P("B.Sc. Nursing - 5th Semester - Bhushan Science",S('c2',fontSize=11,textColor=GOLD,fontName='Helvetica',alignment=TA_CENTER))], [sp(6)],[P("UNIT I",S('c3',fontSize=30,textColor=WHITE,fontName='Helvetica-Bold',alignment=TA_CENTER,leading=34))], [P("Introduction and Theoretical Foundations",S('c4',fontSize=14,textColor=GOLD,fontName='Helvetica-Oblique',alignment=TA_CENTER))], [sp(4)],[P("Complete Study Guide with Diagrams",S('c5',fontSize=10,textColor=colors.HexColor("#aaccee"),fontName='Helvetica',alignment=TA_CENTER))], ],colWidths=[17*cm]) cover.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),NAVY),('PADDING',(0,0),(-1,-1),10)])) s+=[cover,sp(14)] # TOC s+=[std_table([ [P("<b>CONTENTS</b>",S('t0h',fontSize=11,fontName='Helvetica-Bold',textColor=WHITE,alignment=TA_CENTER)),""], ["Part 1","Education & Educational Technology"],["Part 2","Latest Approaches to Education (CBE, Transformational, Relationship-based)"], ["Part 3","Educational Philosophy + Diagram"],["Part 4","Teaching-Learning Process + Diagram"], ["Part 5","Principles of Teaching & Learning"],["Part 6","Barriers to Teaching & Learning"], ["Part 7","Learning Theories + Diagram"],["Part 8","Maslow's Hierarchy + Kolb's Cycle Diagram"], ["Part 9","Quick Revision Box + Practice Questions"], ],[3*cm,14*cm],hbg=TEAL),sp(6)] # PART 1 s+=[P("PART 1 - Education & Educational Technology",sec_h),hline(), def_box("Education","The process of bringing <b>desirable changes in behavior</b> - in knowledge, skills and attitudes - through planned experiences."),sp(5), def_box("Educational Technology","The <b>systematic application of scientific knowledge</b> about teaching and learning to improve effectiveness. NOT just gadgets - includes methods, media, and strategies used scientifically.",LTGREEN),sp(5), P("Etymology of 'Education'",sub_h), std_table([[P("<b>Latin Word</b>",S('eh',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Meaning</b>",S('em',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))], ["Educatum","To educate"],["Educare","To bring forth / to develop from within"],["Educere","To lead out / to push forward"]],[5*cm,12*cm]),sp(5), P("Aims of Educational Technology",sub_h)]+B(["Make teaching-learning more <b>effective and systematic</b>", "Help teachers select <b>appropriate methods and media</b>","Improve <b>student learning outcomes</b>", "Apply <b>scientific principles</b> to education","Develop <b>competency-based, learner-centred</b> education"])+[sp(6)] # PART 2 s+=[P("PART 2 - Latest Approaches to Education",sec_h),hline(), std_table([[P("<b>Approach</b>",S('a0',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Key Idea</b>",S('a1',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Nursing Relevance</b>",S('a2',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))], ["Transformational Education","Deep change in thinking, values & behavior. Student becomes a critical thinker.","Nurse develops clinical judgment, not just technical skills"], ["Relationship-Based Education","Learning through trust and connection between teacher and student.","Mirrors therapeutic nurse-patient relationship"], ["Competency-Based Education (CBE)","Focus on demonstrating specific skills/competencies, not just passing exams.","INC follows CBE - assessed on what you CAN DO, not just what you know"]], [4.5*cm,7*cm,5.5*cm],rc=[LTBLUE,WHITE,LTGREEN]),sp(6), tip("CBE is the INC's current model. Expected Q: 'What is CBE? How is it applied in nursing education?'"),sp(6),PageBreak()] # PART 3 s+=[P("PART 3 - Educational Philosophy",sec_h),hline(), def_box("Philosophy","From Greek: <b>Philo</b> (love) + <b>Sophia</b> (wisdom) = Love of Wisdom. Examines fundamental questions about knowledge, values, and existence."), sp(6),P("Major Educational Philosophies - Comparison Diagram",sub_h),sp(4),PhilosophyDiagram(),sp(6), tip("PRAGMATISM is most relevant to nursing - 'learning by doing' = clinical practice, skill labs, simulation. CBE is rooted in pragmatist philosophy."),sp(6), P("Philosophy of Nursing Education - Key Beliefs",sub_h)]+B(["Every person has <b>dignity and worth</b>", "Nursing is both an <b>art and a science</b>","Education must develop the <b>whole person</b> - cognitive, affective, psychomotor", "Nurses must be <b>lifelong learners</b>","Nursing practice must be <b>evidence-based</b>","Health care must be <b>holistic</b> - physical, psychological, social, spiritual"])+[sp(6),PageBreak()] # PART 4 s+=[P("PART 4 - Teaching-Learning Process",sec_h),hline(), def_box("Teaching","A purposeful process where the teacher <b>guides, facilitates and assists</b> the learner to achieve desired learning outcomes through planned activities."),sp(4), def_box("Learning","A relatively <b>permanent change in behavior</b> - in knowledge, skills or attitudes - as a result of experience, practice, or instruction.",LTGREEN),sp(8), P("Teaching-Learning Process Diagram",sub_h),sp(4),TLDiagram(),sp(10), P("Nature & Characteristics",sub_h), std_table([[P("<b>Teaching</b>",S('th',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Learning</b>",S('lh',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))], ["Purposeful and goal-directed","Produces a permanent change in behavior"],["Social and interactive process","Results from practice or experience"], ["Both an art and a science","It is an active process"],["Requires planning and preparation","Affected by motivation and readiness"], ["Involves effective communication","Change must be observable and measurable"]],[8.5*cm,8.5*cm],hbg=TEAL),sp(8),PageBreak()] # PART 5 s+=[P("PART 5 - Principles of Teaching & Learning",sec_h),hline(),P("Principles of Teaching",sub_h), std_table([[P("<b>Principle</b>",S('p0',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Meaning</b>",S('p1',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))], ["Activity","Learner must be active, not a passive listener"],["Motivation","Motivated learners learn better and retain more"], ["Readiness","Teach only when the learner is mentally ready"],["Individual Differences","Every student has different pace and learning style"], ["Reinforcement","Reward correct responses to strengthen learning"],["Planning","Teaching must be well-planned with clear objectives"], ["Evaluation","Always assess what was learned after teaching"]],[5*cm,12*cm]),sp(6), P("Thorndike's Laws of Learning (Must Know!)",sub_h), std_table([[P("<b>Law</b>",S('l0',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Meaning</b>",S('l1',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))], ["Law of Readiness","Learning occurs when the learner is mentally and physically ready"], ["Law of Exercise","Repetition and practice makes learning permanent"], ["Law of Effect","Learning strengthened by pleasant outcomes, weakened by unpleasant ones"], ["Primacy","What is learned FIRST is remembered best"],["Recency","What is learned most RECENTLY is also well retained"], ["Intensity","Vivid, dramatic, real experiences are learned better"]],[5*cm,12*cm],hbg=TEAL),sp(6),PageBreak()] # PART 6 s+=[P("PART 6 - Barriers to Teaching & Learning",sec_h),hline(), std_table([[P("<b>Teacher-Related</b>",S('b0',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Student-Related</b>",S('b1',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Environment-Related</b>",S('b2',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))], ["Poor communication skills","Lack of motivation","Noisy classroom"],["No preparation / planning","Fear and anxiety","Poor lighting"], ["Monotonous delivery","Language barrier","Overcrowded class"],["No feedback given","Poor health status","Lack of resources"], ["Negative attitude","Low self-confidence","Uncomfortable seating"]],[5.7*cm,5.6*cm,5.7*cm]),sp(6)] # PART 7 s+=[P("PART 7 - Learning Theories (High Priority!)",sec_h),hline(),sp(4),TheoriesDiagram(),sp(10), std_table([[P("<b>Theory</b>",S('t0',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Key Person(s)</b>",S('t1',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Core Idea</b>",S('t2',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Nursing Example</b>",S('t3',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE))], ["Behaviorism","Pavlov, Skinner, Thorndike","Stimulus to Response; reinforcement shapes behavior","Skill drills, return demonstration, positive feedback"], ["Cognitivism","Piaget, Bruner","Learning = mental processes: memory, thinking, perception","Teaching pathophysiology, case-based reasoning"], ["Humanism","Maslow, Carl Rogers","Self-directed; lower needs must be met before learning","Student-centred teaching, addressing student's needs"], ["Social Learning","Albert Bandura","Learning by observation and imitation (role modelling)","Students learn by watching experienced nurses in wards"]], [3.5*cm,4*cm,5.5*cm,4*cm]),sp(6), tip("Apply theories: BEHAVIORISM = clinical skills practice; HUMANISM = patient education using Maslow; SOCIAL LEARNING = ward role modelling."),sp(6),PageBreak()] # PART 8 s+=[P("PART 8 - Maslow's Hierarchy & Kolb's Cycle",sec_h),hline(), P("Maslow's Hierarchy of Needs (Humanistic Theory)",sub_h),sp(6),MaslowDiagram(),sp(4), P("A student who is hungry, unsafe, or anxious CANNOT learn effectively. Lower needs must be met first.",center_it),sp(12), P("Latest Approaches to Learning",sub_h), std_table([[P("<b>Approach</b>",S('al0',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Meaning</b>",S('al1',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Nursing Example</b>",S('al2',fontSize=9,fontName='Helvetica-Bold',textColor=WHITE))], ["Experiential Learning","Learn through direct experience + reflection (Kolb's Cycle)","Clinical postings, case studies"], ["Reflective Learning","Think critically about own experience to improve practice","Post-clinical debriefing, journaling, process recording"], ["Scenario-Based Learning","Use realistic clinical scenarios to develop decision-making","OSCE stations, case vignettes"], ["Simulation-Based Learning","Practice in a SAFE environment using mannequins/simulators","Skill lab, manikin procedures"], ["Blended Learning","Face-to-face + online/digital learning combined","Lectures + e-modules + YouTube videos"]],[4*cm,7.5*cm,5.5*cm]),sp(8), P("Kolb's Experiential Learning Cycle - Diagram",sub_h),sp(4),KolbDiagram(),sp(4), P("Cycle: Concrete Experience - Reflective Observation - Abstract Conceptualization - Active Experimentation - back to new experience. This is the basis of clinical nursing education.",center_it),sp(8),PageBreak()] # QUICK REVISION s+=[color_bar("QUICK REVISION BOX - Unit I",TEAL),sp(8), std_table([[P("<b>Topic</b>",S('qh0',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE)),P("<b>Key Point to Remember</b>",S('qh1',fontSize=10,fontName='Helvetica-Bold',textColor=WHITE))], ["Education","Desirable change in behavior (knowledge, skill, attitude)"],["Educare (Latin)","To bring forth / to develop"], ["Educational Technology","Systematic application of science to teaching-learning"],["CBE","Focus on demonstrating competencies - INC follows this now"], ["Transformational Ed.","Deep change in thinking, values and behavior"],["Pragmatism","Learning by doing - most relevant to nursing education"], ["Teaching","Guiding learner to achieve desired learning outcomes"],["Learning","Permanent change in behavior from experience or practice"], ["Law of Readiness","Learning occurs when learner is mentally ready (Thorndike)"],["Law of Effect","Pleasant outcomes strengthen learning (Thorndike)"], ["Behaviorism","Stimulus-Response; Skinner, Pavlov, Thorndike"],["Cognitivism","Mental processes; Piaget, Bruner"], ["Humanism","Self-directed, needs-based; Maslow, Carl Rogers"],["Social Learning","Observation & imitation; Albert Bandura"], ["Kolb's Cycle","Experience - Reflection - Conceptualize - Experiment"],["Blended Learning","Face-to-face classroom + online learning combined"], ["Simulation-Based","Safe practice using mannequins/simulators in skill lab"]],[5*cm,12*cm]),sp(12)] # PRACTICE QUESTIONS s+=[color_bar("PRACTICE QUESTIONS - Unit I",PURPLE),sp(8),P("<b>Long Answer Questions (10 marks)</b>",sub_h),sp(4)] for i,q in enumerate(["Define Educational Technology. Explain its scope and importance in nursing education.", "Describe the major learning theories with key persons, core principles, and application to nursing.", "What is Competency-Based Education (CBE)? How is it applied in nursing education in India?", "Explain the teaching-learning process with a diagram. Describe the principles of teaching.", "Write a note on Kolb's Experiential Learning Cycle with a diagram and its application in clinical nursing."],1): s+=[P(f"<b>Q{i}.</b> {q}",S(f'lq{i}',fontSize=10,fontName='Helvetica',textColor=DARKGRAY,leading=14,leftIndent=8,spaceAfter=5))] s+=[sp(6),P("<b>Short Answer Questions (5 marks)</b>",sub_h),sp(4)] for i,q in enumerate(["Differentiate between teaching and learning.", "What are the latest approaches to education? (Transformational, Relationship-based, CBE)", "Write short notes on: (a) Pragmatism in nursing (b) Humanistic theory", "Explain Maslow's hierarchy of needs and its relevance to learning.", "What is blended learning? Give 3 examples in nursing.", "Differentiate: Experiential learning vs Simulation-based learning."],1): s+=[P(f"<b>Q{i}.</b> {q}",S(f'sq{i}',fontSize=10,fontName='Helvetica',textColor=DARKGRAY,leading=14,leftIndent=8,spaceAfter=5))] s+=[sp(6),P("<b>One-Line / Definition Questions</b>",sub_h),sp(4)] for i,q in enumerate(["Define: Education / Educational Technology / CBE / Blended learning", "Name the 4 learning theories and their key persons.", "What are Thorndike's 3 main Laws of Learning?", "Name 5 barriers to learning.", "What does 'Educare' mean? Which philosophy says 'learning by doing'?"],1): s+=[P(f"<b>Q{i}.</b> {q}",S(f'oq{i}',fontSize=10,fontName='Helvetica',textColor=DARKGRAY,leading=14,leftIndent=8,spaceAfter=5))] s+=[sp(16),HRFlowable(width="100%",thickness=0.5,color=colors.HexColor("#cccccc"),spaceAfter=4), P("Study Guide by Orris AI Tutor - B.Sc. Nursing 5th Sem - Nursing Education Unit I",small_c)] doc.build(s) print("Done:",OUTPUT) build() PYEOF python3 /home/daytona/workspace/nursing-education/unit1_study_guide.py 2>&1
Unit1 Nursing Education Study Guide
PDF Document ยท PDF
| Section | Content |
|---|---|
| Cover Page | Unit I title with colour design |
| Part 1 | Education & Educational Technology โ definitions, etymology, aims |
| Part 2 | Latest approaches โ CBE, Transformational, Relationship-based |
| Part 3 | Educational Philosophy + comparison diagram (5 philosophies) |
| Part 4 | Teaching-Learning Process + arrow diagram with feedback loop |
| Part 5 | Principles of Teaching & Thorndike's Laws tables |
| Part 6 | Barriers to teaching & learning (3-column table) |
| Part 7 | Learning Theories + 4-quadrant diagram (Behaviorism, Cognitivism, Humanism, Social Learning) |
| Part 8 | Maslow's pyramid diagram + Kolb's Cycle diagram + latest learning approaches |
| Part 9 | Quick Revision Box + Long/Short/One-line Practice Questions |
So
Start tutoring me on Unit II - Assessment and Planning
| Style | Teacher's Role | Student's Role | Communication | Best Used For |
|---|---|---|---|---|
| Formal Authority | Expert/Authority | Passive | One-way | Large content delivery, lectures |
| Demonstrator | Role model | Observer/imitator | One-way (visual) | Clinical skill teaching |
| Facilitator | Guide/Coach | Active participant | Two-way | PBL, discussions, seminars |
| Delegator | Resource/Consultant | Independent learner | Minimal teacher-directed | Projects, SDL, research |
โญ Exam tip: This table is a guaranteed short question. Learn the 4 names + teacher's role + best used for.
| Type | Learns Best By |
|---|---|
| Visual | Diagrams, charts, videos, demonstrations |
| Auditory | Lectures, discussions, listening |
| Read/Write | Reading textbooks, taking notes |
| Kinesthetic | Hands-on practice, clinical work |
Nursing relevance: Most nursing students are kinesthetic learners โ they learn best by doing (clinical practice, skill lab).
A student who is anxious about exams or unwell is NOT ready to learn โ connects back to Maslow's theory!
| Characteristic | Implication for Teaching |
|---|---|
| Digital natives โ grew up with technology | Use e-learning, videos, smart boards |
| Short attention span | Use varied, interactive methods |
| Prefer visual content | Use videos, infographics, PPTs |
| Collaborative learners | Use group work, team-based learning |
| Need instant feedback | Use MCQs, quizzes, quick feedback |
| Self-directed and independent | Use SDL, projects, research tasks |
| Multitaskers | Blended learning works well |
Definition: Emotional Intelligence is the ability to recognize, understand, manage, and effectively use one's own emotions and the emotions of others.
| Component | Meaning | Nursing Example |
|---|---|---|
| Self-awareness | Knowing your own emotions | Nurse recognizes when she is stressed |
| Self-regulation | Controlling your emotions | Stays calm during an emergency |
| Motivation | Inner drive to achieve | Studies despite difficulties |
| Empathy | Understanding others' feelings | Understands patient's fear |
| Social skills | Managing relationships | Works effectively in a team |
โญ Why it matters: Nurses with high EI give better patient care. Teachers must help students develop EI.
โญ Exam tip: Motivational factors = personal + environmental + support system. These 3 headings are the answer structure.
Definition: Curriculum is the total planned educational experiences provided to students under the guidance of an educational institution to achieve specific learning goals.
| Type | Key Feature | Example |
|---|---|---|
| Subject-Centred | Organized around subjects/disciplines | Traditional nursing curriculum โ Anatomy, Physiology as separate subjects |
| Student-Centred | Organized around needs/interests of students | CBE โ focuses on what student can DO |
| Problem-Centred | Organized around real-life problems | PBL curriculum โ students solve clinical cases |
| Activity-Based | Organized around activities and experiences | Skill lab, simulation-based curriculum |
| Integrated | Topics from different subjects merged | Nursing Foundations integrating anatomy, physiology, microbiology |
| Hidden Curriculum | Unwritten, informal learning โ values, attitudes, behaviour | Learning professionalism by observing senior nurses |
CURRICULUM COMPONENTS
โโโ 1. Philosophy and Beliefs
โโโ 2. Goals and Objectives
โโโ 3. Content (What to teach)
โโโ 4. Teaching-Learning Experiences (How to teach)
โโโ 5. Evaluation (How to assess)
โโโ 6. Sequence and Organization
| Step | Action |
|---|---|
| 1. Need Assessment | Identify what knowledge/skills are needed (students, society, health system) |
| 2. Philosophy & Goals | Define the beliefs and broad aims of the program |
| 3. Objectives | Write specific, measurable learning outcomes |
| 4. Content Selection | Choose relevant content based on objectives |
| 5. Content Organization | Arrange content logically (simple to complex) |
| 6. Teaching-Learning Strategies | Select appropriate methods and media |
| 7. Implementation | Put the curriculum into practice |
| 8. Evaluation | Assess whether objectives were achieved |
| 9. Revision | Update curriculum based on evaluation findings |
โญ Memory trick: N-P-O-C-O-T-I-E-R (Need, Philosophy, Objectives, Content, Organization, Teaching strategies, Implementation, Evaluation, Revision)
Learning Outcome = Behavioral Objective = A statement that describes what the student will be able to DO after instruction, in measurable terms.
| Level | Action Verbs |
|---|---|
| Remember | Define, List, Name, State, Recall |
| Understand | Explain, Describe, Summarize, Classify |
| Apply | Demonstrate, Use, Calculate, Perform |
| Analyze | Compare, Differentiate, Examine, Break down |
| Evaluate | Judge, Justify, Assess, Critique |
| Create | Design, Develop, Formulate, Construct |
โญ Exam tip: For writing objectives, use ACTION VERBS from the correct domain. Cognitive = "explain, describe"; Psychomotor = "demonstrate, perform"; Affective = "show, express".
Definition: A lesson plan is a written document that outlines the teaching-learning activities for a specific topic in a specific time period.
| Type | Covers | Duration |
|---|---|---|
| Course Plan | Entire course/subject | Whole semester/year |
| Unit Plan | One unit of a subject | Several weeks |
| Daily Lesson Plan | One specific topic | One class period (45-60 mins) |
โญ Exam tip: You may be asked to write a lesson plan on any nursing topic. Learn this format by heart โ it is a guaranteed 10-mark question!
| Topic | Key Point |
|---|---|
| Teaching Styles | Formal Authority, Demonstrator, Facilitator, Delegator |
| Formal Authority | Teacher = expert; student = passive; one-way |
| Facilitator | Teacher = guide; student = active; best for PBL |
| Delegator | Teacher = resource; student = independent; best for SDL/projects |
| VARK | Visual, Auditory, Read/Write, Kinesthetic |
| EI (Goleman) | Self-awareness, Self-regulation, Motivation, Empathy, Social skills |
| Motivational factors | Personal + Environmental + Support system |
| Curriculum | Total planned educational experiences |
| Types of curriculum | Subject, Student, Problem, Activity, Integrated, Hidden |
| Curriculum development | 9 steps โ Need โ Philosophy โ Objectives โ ... โ Revision |
| Behavioral objective | SMART โ what student will DO after instruction |
| Bloom's domains | Cognitive (Bloom), Affective (Krathwohl), Psychomotor (Simpson) |
| Lesson plan types | Course plan, Unit plan, Daily lesson plan |
| Lesson plan components | 12 components โ Topic to Assignment |