Slide 1

Slide 1 text

Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227 CSC 307 Introduction to Software Engineering 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 3

Slide 4

Slide 4 text

4 Note | Spanish naming customs In Spanish naming conventions, a person uses two surnames— one from each parent—so in my case González-Sánchez is the full family name. This means I can be correctly addressed as Dr. González or Dr. Gonzalez-Sanchez, but not Dr. Sánchez. https://en.wikipedia.org/wiki/Spanish_naming_customs

Slide 5

Slide 5 text

5 Where Am I from?

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

7 Research

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 progr a mming with J a v a ? • Wh a t is Your experience progr a mming (internships, person a l projects, h a ck a thons, others)?

Slide 9

Slide 9 text

Course Content

Slide 10

Slide 10 text

This is NOT a web development course. That one is CSC 437 10 This is NOT…

Slide 11

Slide 11 text

❌ JavaScript ❌ Node.js ❌ React ❌ HTML ❌ CSS ✅ Software Engineering 11 This is NOT…

Slide 12

Slide 12 text

12 This is About Engineering

Slide 13

Slide 13 text

13 Who is Alan Kay Computer scientist (Xerox, Apple, HP, Disney, MIT, Stanford…). His ideas on objects, message passing, and modular, human-centered system design strongly influenced modern programming languages and helped establish software development as an engineering discipline rather than just coding. https://en.wikipedia.org/wiki/Alan_Kay

Slide 14

Slide 14 text

14 This is About Engineering

Slide 15

Slide 15 text

15 This is About Engineering • M a nuf a cturing vs. Cr a fting Softw a re • Code is me a nt for hum a n consumption, a nd it’s me a nt for computer consumption. • Cre a ting softw a re together but not scr a mbled

Slide 16

Slide 16 text

16 This is About Engineering

Slide 17

Slide 17 text

17 Code is meant for human consumption

Slide 18

Slide 18 text

18 Together but not Scrambled

Slide 19

Slide 19 text

19 Manufacturing vs. Crafting

Slide 20

Slide 20 text

20 Analogy Analysis understanding how systems work asking all the important questions before you start hammering nails Design creating solutions that meet requirements, budget, improving performance, cost, efficiency, or safety. Follow standards Use what already exists! Implementation translating ideas into functioning realities (Not always with their own hands)

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

22 Topics

Slide 23

Slide 23 text

Syllabus

Slide 24

Slide 24 text

24 Guidelines Attendance (participation) is Expected

Slide 25

Slide 25 text

25 Guidelines Hours per Week

Slide 26

Slide 26 text

26 Guidelines Late Assignments

Slide 27

Slide 27 text

27 Guidelines Regularly visit our course page on Canvas

Slide 28

Slide 28 text

28 Grading Assignments L a bs + Quizzes Attend a nce & P a rticip a tion 20% 30% 10% 100% Project Fin a l Project Fin a l Ex a m 5% 20% Peer Ev a lu a tion 15%

Slide 29

Slide 29 text

29 Grading >= 96.5 A >= 93 A- >= 89.5 B+ >= 86 B >= 82.5 B- >= 79 C+ >= 75.5 C >= 72 C- >= 68.5 D+ >= 65 D >= 61.5 D- < 61.5 F

Slide 30

Slide 30 text

30 References

Slide 31

Slide 31 text

Homework

Slide 32

Slide 32 text

32 Homework: Syllabus Read the Syllabus

Slide 33

Slide 33 text

33 Homework: Read Chapter 1 Read the Textbook Chapter 1 (PDF available on Canvas)

Slide 34

Slide 34 text

34 Homework: Review Java Read The Java Tutorials (Links available on Canvas) As needed

Slide 35

Slide 35 text

35 Homework: Review the Java Style Guide Read Java Style Guide https://google.github.io/styleguide/javaguide.html Apply it Always!

Slide 36

Slide 36 text

36 Questions

Slide 37

Slide 37 text

Lab 01. Object-Oriented Programming Refresher

Slide 38

Slide 38 text

38 Paint App

Slide 39

Slide 39 text

39 Blueprint (First Draft)

Slide 40

Slide 40 text

40 To be continued… https://github.com/CSC3100/App-Paint/

Slide 41

Slide 41 text

CSC 307 Introduction to Software Engineering Javier Gonzalez-Sanchez, Ph.D. [email protected] Winter 2026 Copyright. These slides can only be used as study material for the class CSC307 at Cal Poly. They cannot be distributed or used for another purpose.