CS288: Intensive Programming Practicum

designpadΤεχνίτη Νοημοσύνη και Ρομποτική

1 Δεκ 2013 (πριν από 3 χρόνια και 8 μήνες)

151 εμφανίσεις

CS288:
Intensive Programming Practicum

Base
Syllabus

June 22, 2009

Faculty Coordinator

John Ryon

Overview

The course
is about practical software development focused around a

number of
programming projects
that cover
a spectrum of programming development re
quirements
and techniques.
The projects involve the development

of modern GUI applications. In
addition students will be introduced to standard and commercial API's, class libraries and
generic

libraries.


Students will use a modern development environment

that offers comprehensive project
management capabilities, and an appropriate programming language to develop their
programs using object oriented, generic programming, and GUI programming techniques.


The
course is organized as follows:



Lectures

present
concepts, language syntax, program examples, and live demos.



T
ext supplies complete details and program examples.



Programming assignments show your understanding and programming skill.



The exams test your understanding, not your memory
.

Prerequisites

CS114

or CS116, and CS280 or equivalent


(
computer programming 1 & 2, and fundamental data structures
)

Objective

The objective of this course is to raise the level of students' programming
skills and
maturity by a combination of discussion of fundamental concep
ts and intensive practice
in programming intermediate software applications.

M
aterial
that

M
ust
B
e
C
overed
D
uring
the

Semester


1.

Developing Software, Spectrum of Architecture

2.

Abst
r
act & Concrete Data Types

3.

Case Study: Knight Tour

4.

OOP: Inheritance & Polymo
rphism

5.

Case Study:
Symbolic Differentiator, Nodes

6.

Case Study:
Parsing and Formatting

7.

Architecture of Interaction

8.

Case Study:
GUI Differentiator

9.

Architecture of Dynamic Simulation

10.

Case Study:
1D Cellular Automaton

11.

Interactive Dynamic
Sim
ulation

12.

Case Study:
Billiards

(vectors and collisions)

13.

Case Study:
Billiards (
animation and GUI
)

Optional Topics



GUI Libraries



Unit Testing
Techniques

Possible Text(s)



Ryon,

J.,

Creating Software Applications
:

An Architectural Approach using Case
Studies and RAD Tools
, 2008
, (NJIT Cannon Copy Center)
.



Reiss, S.P.,
Software Design with C++
, John Wiley & Sons, Inc (1999).

Grade(s)

Based on:



Programming Assignment(s)

1/2 (50%)



Midterm Exam(s)


1/6

(67%)



Final Exam



1/3

(33%)

Assignments



4


6
p
rogramming
a
ssignments
.



Difficu
lty increasing toward intermediate level



Examples:

o

Exemplifying various application architectures



Batch Style

(Backtracking Algorithm)



Interactive Applications

(Symbolic Differentiation)



Dynamic Simulation
(Cellular Automaton)



Interactive Dynamic Simulatio
ns

(Billiard Simulation)

o

Emphasizing event
-
driven GUI programming



Events


(Key Press, Mouse Click, Timer Tick)



Response functions

(Menu Selection, Button Press)



Timers

(Interval Control, Taking Action)



Menus and tool bars

(Editing, Taking Action)

o

Using mod
ern rapid application development (RAD) environment