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

Introduction

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 305, CSC 307, 308, 309, 508, 509) Hum a n-Computer Inter a ction (CSC 486 a nd CSC 570) Teaching

Slide 6

Slide 6 text

Research

Slide 7

Slide 7 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 ? • Did you took 307/308/309?

Slide 8

Slide 8 text

Course Content

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

Individual | Code is meant for human consumption 10

Slide 11

Slide 11 text

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 11

Slide 12

Slide 12 text

Design | Manufacturing vs. Crafting Standard Solutions

Slide 13

Slide 13 text

Design | Manufacturing vs. Crafting • 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 13

Slide 14

Slide 14 text

Tools 14

Slide 15

Slide 15 text

Syllabus

Slide 16

Slide 16 text

Topics • Week 1: Course Overview • Week 2: Object-Oriented Design • Week 3: Exceptions, Logging, Error H a ndling • Week 4: Memory M a n a gement • Week 5: Disk-b a sed Dyn a mic D a t a Structures • Week 6: File I/O • Week 7: Cre a ting Libr a ries a nd APIs • Week 8: Best Pr a ctices for Reuse • Week 9: Individu a l Project • Week 10: Fin a l Ex a m Week 16

Slide 17

Slide 17 text

Guidelines 17 Attendance (participation) is Expected

Slide 18

Slide 18 text

Guidelines 18 Hours per Week

Slide 19

Slide 19 text

Guidelines 19 Late Assignments

Slide 20

Slide 20 text

Guidelines 20 Regularly visit our course page on Canvas

Slide 21

Slide 21 text

Grading 21 Project

Slide 22

Slide 22 text

Grading 22

Slide 23

Slide 23 text

References

Slide 24

Slide 24 text

Homework

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

Questions 27

Slide 28

Slide 28 text

Lab 01

Slide 29

Slide 29 text

Lab 01 Show me your Java programming "best" skills in developing a "smart" Tic-Tac-Toe(text mode but bonus points for GUI) Team of (max) 2. Individual work is OK

Slide 30

Slide 30 text

Lab 01 Do not forget: https://google.github.io/styleguide/javaguide.html

Slide 31

Slide 31 text

Hint (for text-based apps)

Slide 32

Slide 32 text

CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D. [email protected] Winter 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.