Slide 1

Slide 1 text

Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227 CSC 305 Individual Software Design and Development Lecture 01. Course Presentation

Slide 2

Slide 2 text

1. 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 Where Am I from?

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

6 Research

Slide 7

Slide 7 text

7 Your Turn • Wh a t n a me do you prefer to go by? • How pro f icient a re you in J a v a progr a mming? • H a ve you t a ken CSC 307 / 308 / 309?

Slide 8

Slide 8 text

8 Roster

Slide 9

Slide 9 text

2. Course Content

Slide 10

Slide 10 text

10 Key Ideas • Individual (well, sometimes team of two) • Design (Software Design) • Development (Tools)

Slide 11

Slide 11 text

11 Individual | Code is meant for human consumption • Someone else is going to re a d my code. • Someone else is going to try to modify or extend my code. • My code should be Open a nd Close. • Wh a t m a kes code e a sy to underst a nd? • St a nd a rd Problems h a ve St a nd a rd Solutions

Slide 12

Slide 12 text

12 Individual | Code is meant for human consumption

Slide 13

Slide 13 text

13 Individual | Code is meant for human consumption • Anybody c a n do progr a mming. • You a re Engineers a nd Scientists, therefore … • Wh a t a bout te a m-working? "Gre a t te a ms a re built when good individu a ls bring their strengths together.” • CSC 305 is a bout the individu a l

Slide 14

Slide 14 text

14 Design | Manufacturing vs. Crafting Standard Solutions

Slide 15

Slide 15 text

15 Development Tools

Slide 16

Slide 16 text

16 Topics covered in CSC 307, 308, and 309 Deployment Softw a Testing Coding, Progr a Developing Softw a Design Requirement Engineering [+]

Slide 17

Slide 17 text

17 Not CSC 305, but Highly Relevant • C a n you cre a te the Product B a cklog for the project described in L a b 1 • How m a ny stories (user stories)? • Do you remember INVEST? • Priority? • Estim a tion?

Slide 18

Slide 18 text

18 Topics • Course Overview • Object-Oriented Design • Exceptions, Logging, Error H a ndling • Memory M a n a gement • Disk-b a sed Dyn a mic D a t a Structures • I/O • Cre a ting Libr a ries a nd APIs • Best Pr a ctices for Reuse • Project • Fin a l Ex a m Week

Slide 19

Slide 19 text

3. Syllabus

Slide 20

Slide 20 text

20 Guidelines Attendance (participation) is Expected

Slide 21

Slide 21 text

21 Guidelines Hours per Week

Slide 22

Slide 22 text

22 Guidelines Late Assignments

Slide 23

Slide 23 text

23 Guidelines Regularly visit our course page on Canvas

Slide 24

Slide 24 text

24 Grading Assignments L a bs + Quizzes Attend a nce & P a rticip a tion 25% 25% 10% 100% Project Fin a l Project Fin a l Ex a m Project 20% 20%

Slide 25

Slide 25 text

25 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 26

Slide 26 text

26 Guidelines Please avoid grade grubbing —feel free to ask questions and clarify doubts, but don’t request extra points unless there’s a clear grading error

Slide 27

Slide 27 text

References

Slide 28

Slide 28 text

4. Summary

Slide 29

Slide 29 text

29 Good vs. Bad

Slide 30

Slide 30 text

30 Performance + Readability • Write e ff icient code but prioritize re a d a bility a nd m a int a in a bility. • Optimize perform a nce-critic a l sections only when necess a ry.

Slide 31

Slide 31 text

Homework

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

34 Questions

Slide 35

Slide 35 text

Lab

Slide 36

Slide 36 text

36 Quiz 01 Programming 101 Exam Quiz!

Slide 37

Slide 37 text

CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D. [email protected] Fall 2025 Copyright. These slides can only be used as study material for the class CSC305 at Cal Poly. They cannot be distributed or used for another purpose.