Introduction to the course: Project

advertisement
SOEN 6441 - Advanced Programming Practices
1
ADVANCED PROGRAMING
PRACTICES
Introduction to the course
Concordia University
Department of Computer Science and Software Engineering
Joey Paquet, 2006-2014
SOEN 6441 - Advanced Programming Practices
2
INTRODUCTION TO THE
COURSE
Concordia University
Department of Computer Science and Software Engineering
Joey Paquet, 2006-2014
SOEN 6441 - Advanced Programming Practices
3
Introduction to the course: Instructor
• Name: Joey Paquet
• Position: Associate Professor, Department of Computer Science and Software
Engineering
• Teaching topics: Programming languages, Compiler design, Software engineering
and programming methodology
• Research topics: Design and implementation of programming languages, Parallel
and/or distributed computing, Demand-driven computation, Context-driven
computation
• Contact information:
• Web: www.cse.concordia.ca/~paquet
• E-mail: paquet@cse.concordia.ca
• Office: EV 3-221
• Office hours: Fridays 10am-12pm
Concordia University
Department of Computer Science and Software Engineering
Joey Paquet, 2006-2014
SOEN 6441 - Advanced Programming Practices
4
Introduction to the course: Calendar description
• Problems of writing and managing code. Managing code complexity and quality
through a programming process. Coding conventions. Inline software
documentation. Software configuration management. Tools and techniques for
testing software. Multithreading concurrency. Code reuse in software
development. Quality in coding, fault tolerance. A project. Laboratory: two hours
per week.
Concordia University
Department of Computer Science and Software Engineering
Joey Paquet, 2006-2014
SOEN 6441 - Advanced Programming Practices
5
Introduction to the course: Rationale
• This course is not a regular “introduction to programming” course.
• Regular programming courses teach how to use a particular programming
•
•
•
•
•
•
language to implement programs.
This course assumes that the students already know how to program.
Industrial programming makes use of many more tools than the actual
programming language.
This course aims at improving the effectiveness of the act of programming.
It is meant to teach various concepts/tools/techniques used in the process of
programming.
It aims at enabling students to:
• Be more efficient in their programming tasks
• Be more effective team workers in software development
• Be more aware of quality in software development
This course aims at an audience well-trained in computer programming and
putting the newly acquired knowledge into practice through a challenging
project.
Concordia University
Department of Computer Science and Software Engineering
Joey Paquet, 2006-2014
SOEN 6441 - Advanced Programming Practices
6
Introduction to the course: Project
• The project is to be undertaken small teams (typically 5 members) and consists of
the building of a challengingly large and complex Java application.
• The completion of the project is divided into two separate components:
• (1) the First and Second Intermediate Project Deliveries are intermediate
operational builds of the software, effectively demonstrating the full
implementation of some important software features;
• (2) the Final Project Delivery is the demonstration of the finalized version of
your software.
• During the project deliveries, you also have to demonstrate that your code
includes many of the Java features presented in the lectures.
• The individual assignments will also be related to the project.
Concordia University
Department of Computer Science and Software Engineering
Joey Paquet, 2006-2014
SOEN 6441 - Advanced Programming Practices
7
Introduction to the course: Evaluation
• Individual evaluation components:
• Written examinations (midterm, final): 20% + 30%
50%
• Team work evaluation components:
• Intermediate project delivery 1:
• Intermediate project delivery 2:
• Final project delivery:
Concordia University
Department of Computer Science and Software Engineering
15%
15%
20%
Joey Paquet, 2006-2014
SOEN 6441 - Advanced Programming Practices
8
Introduction to the course: References
• Walter Savitch. Absolute Java. Fifth Edition, Addison-Wesley, 2012. ISBN-13: 978-
0-13-283071-3
• Walter Savitch. Java: An Introduction to Problem Solving and Programming. 7th
Edition, Addison-Wesley, 2014. ISBN-13: 978-0133766264
Concordia University
Department of Computer Science and Software Engineering
Joey Paquet, 2006-2014
Download