0% found this document useful (0 votes)
78 views8 pages

Computer Programming and Telematics Lab

This document provides an introduction and outline for a computer programming and telematics lab course. The course will teach methodologies for architectural design and implementation of complex software using C# and .NET. Topics will include version control, the C# programming language, unit testing, software design using UML, design patterns, GUI programming, and web services. Students will complete exercises and there will be a final exam involving a quiz and small group project. The instructor's contact information and schedule are provided.

Uploaded by

Luca Cagnes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
78 views8 pages

Computer Programming and Telematics Lab

This document provides an introduction and outline for a computer programming and telematics lab course. The course will teach methodologies for architectural design and implementation of complex software using C# and .NET. Topics will include version control, the C# programming language, unit testing, software design using UML, design patterns, GUI programming, and web services. Students will complete exercises and there will be a final exam involving a quiz and small group project. The instructor's contact information and schedule are provided.

Uploaded by

Luca Cagnes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Introduction

Computer programming and telematics lab

Description
Objective:
Teach methodologies for architectural design and implementation of
complex software;

During each lecture the theoretical part will be accompanied with


several hands-on examples
Be sure to have a PC with a C++/C# compiler (e.g. Microsoft Visual
Studio, Monodevelop)
Examples in class and homework
Schedule:
Tuesday 11-13 (INFAL2)
Friday 8-11 (B6)

Outline
Version control

CVS, Subversion, GIT

C# programming language

.NET framework, CLR, CLI, types, value/reference types, boxing/unboxing,


functions, control statements, object oriented concepts, interface, inheritance,
polymorphism, classes, structs, constructors/destructors, operators, arrays,
generics, collections, enumerators, iterators, equality, delegates, events

Unit testing
Software design

UML2.0, Use cases, class diagram, object diagram, statechart diagram, activity
diagram, sequence diagram, communication diagram, component diagram,
component diagram, deployment diagram, package diagram, timing diagram,
interaction overview diagram, composite structure diagram

Design patterns

Algorithm strategy patterns, Computational design patterns, Execution patterns,


Implementation strategy patterns, Structural design patterns

GUI programming with Windows Forms


Web services and WCF

References
Course material (available through AulaWeb
http://diten.aulaweb.unige.it/course/view.php?id=392)
"Manifesto for Agile Software Development", Agile Alliance, 2001, webpage:
http://agilemanifesto.org/
Robert C. Martin and Micah Martin. 2006. Agile Principles, Patterns, and
Practices in C# (Robert C. Martin). Prentice Hall PTR, Upper Saddle River, NJ,
USA.
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design
Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA.
Robert C. Martin. 2008. Clean Code: A Handbook of Agile Software
Craftsmanship (1 ed.). Prentice Hall PTR, Upper Saddle River, NJ, USA.
Kent Beck, extreme Programming explained: Embrace change AddisonWesley, 2000.

Exam
Total time for the exam: 4 hours
First part (1h30m): quiz with multiple answers. The test is made up
by 62 questions. Each question has 3 possible answers + the dont
know answer. The correct answer increases the overall marks of 0.5,
the wrong answers decrease of 0.25, while the dont know answer
is 0.
Second part (2h30m): design and implementation of a simple
project. This can be made in groups of two students and should
demonstrate to be able to apply the main concepts described during
the lectures. Source code and diagrams/schemes created by the
group will be evaluated and averaged with quiz results.
5 bonus points for those of you who completed at least 80% of the
proposed exercises (must be merged/pushed in GITHUB!)

Exams calendar
Exams are typically on Tuesdays from 9 to 13
You must sign-up online for the exam at least 2 days before
Exam dates (2017):

10/1/2017
24/1/2017
14/2/2017
28/2/2017
6/6/2017
20/6/2017
4/7/2017
18/7/2017
12/9/2017

About the exercises


There will be 5 blocks of exercises (10 exercises for each block) + 1
final exercise (with 10 steps)
Exercise block

Start (me
giving the pdf
with the
exercise text)

Delivery (you
merging on
github your
solutions)

Results (me
sending to you
results and
comments)

Corrections
(you merging
your
corrections)

30/9

9/10

15/10

21/10

11/10

21/10

28/10

7/11

25/10

7/11

14/11

25/11

15/11

25/11

2/12

12/12

2/12

12/12

19/12

29/12

Final

13/12

Day of the
exam

Contacts
Lucio Marcenaro
Signal Processing & Telecommunications Group
Department of Electrical, Electronic, Telecommunications
Engineering and Naval Architecture (DITEN)
Via all'Opera Pia 11 (ex-CNR 1st floor)
16145 Genova (Italy)
Ph. +39 010 3532060 |Mob. +39 3482360850
Email: [email protected]

You might also like