You are on page 1of 4

About the Instructor

COMP 2404
Introduction to Software Engineering ● Biography:
➢ BCS and MCS at U. Ottawa, graduating in early 1990s
➢ worked in high-tech industry for nearly 10 years
Bell Canada, SHL Systemhouse, Nortel
1. Welcome

➢ PhD in Computer Science at Carleton in 2005-2009


2. About the instructor  specialized in wireless network security
3. About the course ➢ full-time instructor (teaching professor) in SCS since 2009
teaching software engineering and systems programming
4. Course page

5. Course outline ● My main goal: your success as a software professional


6. Course policies ➢ beyond this course, to graduation, and into your future

1 ©2018 Christine Laurendeau 3

Welcome About the Instructor (cont.)


● Instructor: Dr. Christine Laurendeau ● Professional success requires:
➢ just met me?
 it’s customary to be more formal ➢ knowing how to produce quality work
 please call me Dr. or Prof. Laurendeau  follow the instructions
 give the work enough time and focus to do it well
➢ already know me?
 we can be more informal, but still professional!
➢ a professional attitude
 it’s fine to call me Christine (or Dr. Christine)
 to learn new concepts, you have to allow others to teach you
 learn to accept constructive feedback
● Lecture schedule: Tue. and Thu. 16:00 - 17:30 ● it’s for your professional development, it’s not personal
● it’s your work and knowledge that are evaluated, not you as a person
● nobody “hates” you, and nobody is “out to get you”
● Tutorials: begin next Wed. Sept. 12  learn to take responsibility for yourself and for your work
➢ full schedule is posted in cuLearn
➢ no tutorials the week of the midterm

©2018 Christine Laurendeau 2 ©2018 Christine Laurendeau 4


About the Course Course Topics
● What is software engineering? ● Basics of C++ development
➢ Linux programming environment, programming conventions
● In this course, we focus on:
● Basics of C++ classes
➢ object-oriented (OO) design ➢ simple classes, constructors, destructors
 it’s important to know how to write code properly
➢ memory management, pointers
 independent of programming language or syntax

➢ C++ language ● Basics of OO design


 widely used in the industry, including game development ➢ information hiding
 quirky language that needs formal introduction ➢ object design categories
➢ documenting your design, UML class diagrams

©2018 Christine Laurendeau 5 ©2018 Christine Laurendeau 7

About the Course (cont.) Course Topics (cont.)


● Why is software engineering important? ● Essential OO techniques
➢ encapsulation
➢ it’s not enough to “just” get a program working ➢ inheritance
➢ design patterns
➢ your code has to be well designed and well written
 easy to understand by other developers
➢ polymorphism
 easy to modify ➢ overloading
 easy to adapt to new platforms and applications ➢ templates
➢ exception handling
➢ very few professional developers write code for end users

● C++ library
➢ most users of your code will be other developers
➢ STL, files and streams, C++11 features
 using your classes in their part of the code
 modifying your code for upgrades or bug fixes

©2018 Christine Laurendeau 6 ©2018 Christine Laurendeau 8


Learning Objectives Course Page
● We will learn about: ● Check out the course page in cuLearn
➢ course notes
➢ object oriented design ➢ coding examples
 how to organize your data and your logic
 data abstraction and encapsulation
● Midterm and final exam cover everything
➢ implementation ➢ in course notes and annotations made during lectures
 code reuse and robustness ➢ in material conveyed verbally during lectures
 C++ language ➢ in coding examples done in class
➢ in assignments and tutorials
➢ this is not a full software engineering course
 that will be COMP 3004
● Course notes are never complete
➢ you must attend lectures and take notes

©2018 Christine Laurendeau 9 ©2018 Christine Laurendeau 11

Programming Environment Course Outline


● We will use a virtual machine (VM) for this course ● You must read the course outline thoroughly
➢ use of the VM is mandatory for assignments and tutorials
● It contains:
● You need to install: ➢ expectations
➢ VirtualBox ➢ evaluation scheme
➢ the official COMP 2404 virtual machine ➢ information about tutorials
➢ course policies
● Details found in cuLearn

©2018 Christine Laurendeau 10 ©2018 Christine Laurendeau 12


Office Hours
● This is the only time to get one-on-one attention

● Instructor office hours


➢ priority to questions regarding:
 course material
 confidential issues, academic advising
 problems with TAs or other students
➢ please be prepared with specific questions!

● TA office hours
➢ priority to questions regarding:
 understanding and completing the assignments

©2018 Christine Laurendeau 13

Communication Policy
● Questions about assignments:
➢ you must post assignment questions in cuLearn

● Problems with your code


➢ see a TA during office hours

● Questions about course material


➢ see instructor during office hours

● Emailing the instructor


➢ only regarding confidential matters
➢ never for assignment questions or problems -- post in cuLearn
➢ be professional

©2018 Christine Laurendeau 14

You might also like