Slide 1

Slide 1 text

Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227 CSC 508/9 Software Engineering (Design & Deployment) Lecture 01. Course Presentation

Slide 2

Slide 2 text

Introductions

Slide 3

Slide 3 text

First n a me L a st n a me Dr. J a vier Gonz a lez-S a nchez j a viergs@c a lpoly.edu www.j a viergs.info Contact Information

Slide 4

Slide 4 text

Where Am I from?

Slide 5

Slide 5 text

www.j a viergs.info/te a ching/ At CSU: Softw a re Engineering (CSC 307, 308, 309, 508, 509) Hum a n-Computer Inter a ction Topics (CSC 570) Teaching

Slide 6

Slide 6 text

Research

Slide 7

Slide 7 text

Context Rosalind Picard MIT MediaLab Winslow Burleson University of Arizona PhD Advisor 
 HCI Affective Computing 1997 
 SW Engineering Self- Adaptive Systems David Garlan Carnegie Mellon PhD Committee Member

Slide 8

Slide 8 text

Your Turn • Wh a t is your n a me (or how you go by it)? • Are you pro f icient in Softw a re Engineering? • Wh a t is Your experience developing softw a re (internships, person a l projects, h a ck a thons, others)?

Slide 9

Slide 9 text

Course Content

Slide 10

Slide 10 text

Software Engineering Undergr a du a te Course on Softw a re Engineering (307 or 308 + 309) • Found a tion a l concepts, tools, a nd techniques. • Prep a ring students for entry-level positions in the industry • Follow est a blished processes • Developing well-de f ined softw a re a pplic a tions • Emph a sis is on te a mwork Gr a du a te Course on Softw a re Engineering (508 + 509) • Speci a lized topics “ a dv a nced” softw a re a rchitecture, distributed systems, model-driven engineering, cutting-edge rese a rch a nd emerging technologies. • A hint of le a dership roles • Theory, rese a rch, a nd innov a tion –students a re expected to explore “complex” problems. • Self-le a rning, critic a l thinking, a nd the a bility to synthesize inform a tion from multiple sources • Projects a re open-ended 10

Slide 11

Slide 11 text

Together but not Scrambled

Slide 12

Slide 12 text

This is About Engineering

Slide 13

Slide 13 text

Code is meant for human consumption 13

Slide 14

Slide 14 text

Topics 14 Deployment Softw a Testing Coding, Progr a Developing Softw a Design Requirement Engineering [+]

Slide 15

Slide 15 text

Tools 15

Slide 16

Slide 16 text

This Course 16

Slide 17

Slide 17 text

This is About Engineering 17

Slide 18

Slide 18 text

Design 18 VS

Slide 19

Slide 19 text

Blueprint

Slide 20

Slide 20 text

Blueprint 20 Parts  Classes and Interfaces + Relationships  Connections

Slide 21

Slide 21 text

Relationships 21 Association Directed Association Reflexive Association Multiplicity Aggregation Composition Generalization Realization

Slide 22

Slide 22 text

Relationships 22 Association Directed Association Reflexive Association Multiplicity Aggregation Composition Generalization Realization To be Continued

Slide 23

Slide 23 text

Syllabus

Slide 24

Slide 24 text

Guidelines 24

Slide 25

Slide 25 text

Guidelines 25

Slide 26

Slide 26 text

Guidelines 26

Slide 27

Slide 27 text

Guidelines 27

Slide 28

Slide 28 text

Agenda (in no particular order) 28 Main Topics 1 Fundamentals and Research Background 2 Information Hiding 3 Interconnection and Decoupling 4 Software Architecture 5 Patterns 6 User Interfaces (Views) 7 Frameworks, Platforms, and APIs 8 Model-Driven Development

Slide 29

Slide 29 text

Grading 29

Slide 30

Slide 30 text

Grading

Slide 31

Slide 31 text

References • Research Papers posted on Canvas • Recommended Books: 31

Slide 32

Slide 32 text

Projects

Slide 33

Slide 33 text

Research

Slide 34

Slide 34 text

Environment

Slide 35

Slide 35 text

Environment 35

Slide 36

Slide 36 text

Calling for Software Engineers SDK Frameworks General Solutions Quality

Slide 37

Slide 37 text

Homework • Cre a te a Te a m (3 or 4 members) • Think a bout a project

Slide 38

Slide 38 text

38

Slide 39

Slide 39 text

CSC 509 Software Engineering Javier Gonzalez-Sanchez, Ph.D. [email protected] Fall 2024 Copyright. These slides can only be used as study material for the class CSC509 at Cal Poly. They cannot be distributed or used for another purpose.