Personal Software Engineering

undefined
 
Personal Software
Engineering
 
OVERVIEW
 
Food for thought
 
 
 
Write your name on sheet of paper number/answer the following:
 
1) What would be 
your 
ideal experience for this class?
 
3) What do you feel is 
your 
biggest weakness as a Software 
person
?
 
2) What is the most important thing one needs to learn to become a successful Software
Engineer?
 
3b) How would you go about improving on it?
 
What we want you to learn in SWEN-250
 
 
Learning the foundations of software
 
Using the basic tools (Command line, compilers, version control …)
 
Writing ‘clean’ code
 
How in read/ interpret instructions (requirements)
 
Managing your time (your ‘personal’ software process)
 
Being an engineer (not just a coder)
 
 
You will learn all this using Unix, C, C++, git …
 
Topics
 
 
 
Syllabus and Schedule
 
Questions?
Process
 
Iterate!
Iterate!
 
Tech stack
 
Other details…
 
 
 
•Always (double)check submission has been made
 
•Deadlines are stated on course schedule. You may be offered additional time during class but
this won’t be the norm.
 
•When in doubt:
 
–Check the one-stop-shop schedule, the syllabus, myCourses
 
–If after that you are still unsure, ask.
 
•Let’s get to know each other and have fun!
 
To share or not to share …
 
Programs versus Software Products
 
The
waterfall
model
 
Incremental Development
 
Defining a Personal Process
 
 
 
•What is a Process?
 
•Why Personal?
 
•5W’s + H
 
 
Why What
 
Who When
 
Where How
 
•People + Process + Product + Technology
 
Defining a Personal Process (cont)
 
 
•Tools + Personal Habits
 
•Continuous and Incremental integration
 
•Reflection and Improvement
 
•Metrics for success
 
SE Accounts
 
 
 
•Not your RIT main account
 
•Can be same password.. but should it?
 
•Your department resources
 
Linux Environment Intro
 
 
 
nitron.se.rit.edu  
hamilton.se.r.it.edu
 
SE Dept. main shared server
All SE students have an account (not the same as your RIT ‘main’ account)
 
•Z:/ 
 Shared/ global drive.  No matter where you login, you will see this mapped
 
•ssh (secure shell)
See instructions on setting up and using
 
•Basic commands
 
 
•http://www.ee.surrey.ac.uk/Teaching/Unix/
Work on tutorial #1 and #2
 
How you do your work …
 
On your desktop …
Open a terminal (e.g. Windows Terminal … or powershell or mac terminal)
Connect to hamilton (see instructions for hamilton, ssh)
Navigate to your repo local folder (see instructions for gitlab)
Edit/ compile/ test your code (all command line!)
Push your code to gitlab (also command line)
Repeat (often)
Slide Note
Embed
Share

This content provides an overview of the Personal Software Engineering course, outlining the ideal class experience, important topics to learn, processes involved, and details important for successful completion. It emphasizes learning software foundations, tools, clean coding, time management, and the transition from coder to engineer. Students will work with Unix, C, C++, and git to enhance their skills.


Uploaded on Mar 20, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Personal Software Engineering OVERVIEW

  2. Food for thought Write your name on sheet of paper number/answer the following: 1) What would be your ideal experience for this class? 3) What do you feel is your biggest weakness as a Software person? 2) What is the most important thing one needs to learn to become a successful Software Engineer? 3b) How would you go about improving on it?

  3. What we want you to learn in SWEN-250 Learning the foundations of software Using the basic tools (Command line, compilers, version control ) Writing clean code How in read/ interpret instructions (requirements) Managing your time (your personal software process) Being an engineer (not just a coder) You will learn all this using Unix, C, C++, git

  4. Topics Syllabus and Schedule Questions?

  5. Process Read Think Design Iterate! Test Implement

  6. Tech stack C/ C++ Gitlab (kgcoe-git.rit.edu) hamilton/ linux Command line

  7. Other details Always (double)check submission has been made Deadlines are stated on course schedule. You may be offered additional time during class but this won t be the norm. When in doubt: Check the one-stop-shop schedule, the syllabus, myCourses If after that you are still unsure, ask. Let s get to know each other and have fun!

  8. To share or not to share

  9. Programs versus Software Products Programs Software Products Usually small in size Large Author himself is sole user Large number of users Single developer Team of developers Lacks proper user interface Well-designed interface Lacks proper documentation Well documented & usermanual prepared Ad hoc development Systematic development

  10. The waterfall model

  11. Incremental Development

  12. Defining a Personal Process What is a Process? Why Personal? 5W s + H Why What Who When Where How People + Process + Product + Technology

  13. Defining a Personal Process (cont) Tools + Personal Habits Continuous and Incremental integration Reflection and Improvement Metrics for success

  14. SE Accounts Not your RIT main account Can be same password.. but should it? Your department resources

  15. Linux Environment Intro nitron.se.rit.edu hamilton.se.r.it.edu SE Dept. main shared server All SE students have an account (not the same as your RIT main account) Z:/ Shared/ global drive. No matter where you login, you will see this mapped ssh (secure shell) See instructions on setting up and using Basic commands http://www.ee.surrey.ac.uk/Teaching/Unix/ Work on tutorial #1 and #2

  16. How you do your work On your desktop Open a terminal (e.g. Windows Terminal or powershell or mac terminal) Connect to hamilton (see instructions for hamilton, ssh) Navigate to your repo local folder (see instructions for gitlab) Edit/ compile/ test your code (all command line!) Push your code to gitlab (also command line) Repeat (often)

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#