Difference: CS290Spring09 (1 vs. 46)

Revision 462009-04-20 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 40 to 40
 

Mar 5

Mid-term exam
(Hylan 301)

 

The rest of March

Design patterns in Ruby


observer, composite, iterator, command, adapter, proxy, decorator patterns
(slides)
Design patterns in Ruby by Olsen (safari on-line via ur subscription)

April 2

Software development processe


(slides)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
Legacy of Agile development (material from Construx)
Changed:
<
<

April 7, 14, 21

Chat-room project report

project page
>
>

April 7, 14

Chat-room project report

project page
 

April 9, 16

Design patterns

singleton, factory, builder

Complex patterns
interpreter, domain-specific language, meta-programming, configuration
(slides)

Design patterns in Ruby by Olsen (safari on-line via ur subscription)
Added:
>
>

April 21, 23, 27

Chat-room project report

project page
 

Written and Programming Assignments

Revision 452009-04-20 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 38 to 38
 

Feb 25

Object vs. class
(slides)

Web 2.0 (cont'd)
XSLT (slides)

Self language (talk and paper by Smith and Unger, acm library)

Mar 3

Design patterns
(slides)

Design patterns in Ruby by Olsen (safari on-line via ur subscription)
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Mar 5

Mid-term exam
(Hylan 301)

 
Changed:
<
<

The rest of March

Design pattern in Ruby


observer, composite, iterator, command, adapter, proxy, decorator patterns
(slides)
Design patterns in Ruby by Olsen (safari on-line via ur subscription)

April 2*

*Software development processes

(slides)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
Legacy of Agile development (material from Construx)
>
>

The rest of March

Design patterns in Ruby


observer, composite, iterator, command, adapter, proxy, decorator patterns
(slides)
Design patterns in Ruby by Olsen (safari on-line via ur subscription)

April 2

Software development processe


(slides)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
Legacy of Agile development (material from Construx)

April 7, 14, 21

Chat-room project report

project page

April 9, 16

Design patterns

singleton, factory, builder

Complex patterns
interpreter, domain-specific language, meta-programming, configuration
(slides)

Design patterns in Ruby by Olsen (safari on-line via ur subscription)
 

Written and Programming Assignments

Revision 442009-04-16 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 36 to 36
 

Feb 19

HTTP, CGI programming
(slides)

Instant messaging systems
(slides)

CGI book (Colburn, safari on-line)
IRCP (part II, chap. 10, network protocols handbook, safari on-line)
Jabber and XMPP(part II of programming Jabber by Adams, safari on-line)

Feb 23

Web 2.0 (slides)
XHTML, CSS, Java Script, Ajax

Instant messaging systems (cont'd)

Web 2.0 programming (van der Vlist et al. books24x7)

Feb 25

Object vs. class
(slides)

Web 2.0 (cont'd)
XSLT (slides)

Self language (talk and paper by Smith and Unger, acm library)
Changed:
<
<

Mar 3

Design patterns
(slides)

Design patterns in Ruby by Olsen (safari on-line via ur subscription)
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)
>
>

Mar 3

Design patterns
(slides)

Design patterns in Ruby by Olsen (safari on-line via ur subscription)
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)
 

Mar 5

Mid-term exam
(Hylan 301)

 

The rest of March

Design pattern in Ruby


observer, composite, iterator, command, adapter, proxy, decorator patterns
(slides)
Design patterns in Ruby by Olsen (safari on-line via ur subscription)
Changed:
<
<

*April 2*

Software development processes

(slides)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
Legacy of Agile development (material from Construx)
>
>

April 2*

*Software development processes

(slides)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
Legacy of Agile development (material from Construx)
 

Written and Programming Assignments

Revision 432009-04-15 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 41 to 41
 

The rest of March

Design pattern in Ruby


observer, composite, iterator, command, adapter, proxy, decorator patterns
(slides)
Design patterns in Ruby by Olsen (safari on-line via ur subscription)

*April 2*

Software development processes

(slides)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
Legacy of Agile development (material from Construx)
Changed:
<
<

Written and Programming Assignments NEW

>
>

Written and Programming Assignments

 
Changed:
<
<
>
>
 

Revision 422009-04-01 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 38 to 38
 

Feb 25

Object vs. class
(slides)

Web 2.0 (cont'd)
XSLT (slides)

Self language (talk and paper by Smith and Unger, acm library)

Mar 3

Design patterns
(slides)

Design patterns in Ruby by Olsen (safari on-line via ur subscription)
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Mar 5

Mid-term exam
(Hylan 301)

 
Changed:
<
<

The rest of March

Design pattern in Ruby

Design patterns in Ruby by Olsen (safari on-line via ur subscription)

Topics

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Topics

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Topics

Web programming
HTTP, XML, AJAX, CSS, RSS, Atom, SVG
Beginning XML 4th Ed. by Hunter et al. (books24x7 via ur subscription, Chapters 13, 22)

Apr. 2, 7, 9

Scalable systems I

theory of locality
The locality principle by Denning (acm lib)
Whole-program locality by Ding et al. (acm lib)

Apr. 14, 16

Scalable systems II

genetic "systems"

Selfish gene by Dawkins in 1976 (read Chapter 4, the gene machine, and Chapter 5, aggression and stability)

Apr. 21, 23

Scalable systems III

game theory

material and reading tbd
>
>

The rest of March

Design pattern in Ruby


observer, composite, iterator, command, adapter, proxy, decorator patterns
(slides)
Design patterns in Ruby by Olsen (safari on-line via ur subscription)

*April 2*

Software development processes

(slides)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
Legacy of Agile development (material from Construx)
 

Written and Programming Assignments NEW

Revision 412009-03-30 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 51 to 51
 
Added:
>
>
 

Class Collaboration and Help

Line: 63 to 66
 
META FILEATTACHMENT attachment="objects_handout.pdf" attr="h" comment="Everything is an object - Class notes handout" date="1232310770" name="objects_handout.pdf" path="objects_handout.pdf" size="5125617" stream="objects_handout.pdf" tmpFilename="/tmp/9qwYNWw3bg" user="KonstantinosMenychtas" version="2"
META FILEATTACHMENT attachment="func_handout.pdf" attr="h" comment="" date="1232775125" name="func_handout.pdf" path="func_handout.pdf" size="408684" stream="func_handout.pdf" tmpFilename="/tmp/aFk7oobFuR" user="KonstantinosMenychtas" version="1"
Added:
>
>
META FILEATTACHMENT attachment="eMailDropBox.pdf" attr="h" comment="" date="1238426578" name="eMailDropBox.pdf" path="eMailDropBox.pdf" size="365385" stream="eMailDropBox.pdf" tmpFilename="/tmp/12G4vPDjJ6" user="KonstantinosMenychtas" version="1"
 
META PREFERENCE name="ALLOWTOPICCHANGE" title="ALLOWTOPICCHANGE" type="Set" value="ChenDing, KonstantinosMenychtas, ArrvindhShriraman"

Revision 402009-03-26 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 49 to 49
 

Written and Programming Assignments NEW

Changed:
<
<
>
>
 

Class Collaboration and Help

Revision 392009-03-26 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 46 to 46
 

Apr. 14, 16

Scalable systems II

genetic "systems"

Selfish gene by Dawkins in 1976 (read Chapter 4, the gene machine, and Chapter 5, aggression and stability)

Apr. 21, 23

Scalable systems III

game theory

material and reading tbd
Changed:
<
<

Written and Programming Assignments

>
>

Written and Programming Assignments NEW

 
Changed:
<
<
>
>
 

Class Collaboration and Help

Revision 382009-03-20 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 38 to 38
 

Feb 25

Object vs. class
(slides)

Web 2.0 (cont'd)
XSLT (slides)

Self language (talk and paper by Smith and Unger, acm library)

Mar 3

Design patterns
(slides)

Design patterns in Ruby by Olsen (safari on-line via ur subscription)
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Mar 5

Mid-term exam
(Hylan 301)

 
Added:
>
>

The rest of March

Design pattern in Ruby

Design patterns in Ruby by Olsen (safari on-line via ur subscription)
 

Topics

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Topics

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Topics

Web programming
HTTP, XML, AJAX, CSS, RSS, Atom, SVG
Beginning XML 4th Ed. by Hunter et al. (books24x7 via ur subscription, Chapters 13, 22)

Revision 372009-03-17 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 45 to 45
 

Apr. 14, 16

Scalable systems II

genetic "systems"

Selfish gene by Dawkins in 1976 (read Chapter 4, the gene machine, and Chapter 5, aggression and stability)

Apr. 21, 23

Scalable systems III

game theory

material and reading tbd
Changed:
<
<

Written and Programming Assignments NEW

>
>

Written and Programming Assignments

 
Changed:
<
<
>
>
 

Class Collaboration and Help

Revision 362009-03-03 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 37 to 37
 

Feb 23

Web 2.0 (slides)
XHTML, CSS, Java Script, Ajax

Instant messaging systems (cont'd)

Web 2.0 programming (van der Vlist et al. books24x7)

Feb 25

Object vs. class
(slides)

Web 2.0 (cont'd)
XSLT (slides)

Self language (talk and paper by Smith and Unger, acm library)

Mar 3

Design patterns
(slides)

Design patterns in Ruby by Olsen (safari on-line via ur subscription)
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)
Changed:
<
<

Mar 5

Mid-term exam
(CSB 6th floor lab)

 
>
>

Mar 5

Mid-term exam
(Hylan 301)

 
 

Topics

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Topics

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Topics

Web programming
HTTP, XML, AJAX, CSS, RSS, Atom, SVG
Beginning XML 4th Ed. by Hunter et al. (books24x7 via ur subscription, Chapters 13, 22)

Revision 352009-03-03 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 36 to 36
 

Feb 19

HTTP, CGI programming
(slides)

Instant messaging systems
(slides)

CGI book (Colburn, safari on-line)
IRCP (part II, chap. 10, network protocols handbook, safari on-line)
Jabber and XMPP(part II of programming Jabber by Adams, safari on-line)

Feb 23

Web 2.0 (slides)
XHTML, CSS, Java Script, Ajax

Instant messaging systems (cont'd)

Web 2.0 programming (van der Vlist et al. books24x7)

Feb 25

Object vs. class
(slides)

Web 2.0 (cont'd)
XSLT (slides)

Self language (talk and paper by Smith and Unger, acm library)
Changed:
<
<

Mar 3

Design patterns

Design patterns in Ruby by Olsen (safari on-line via ur subscription)
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)
>
>

Mar 3

Design patterns
(slides)

Design patterns in Ruby by Olsen (safari on-line via ur subscription)
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)
 

Mar 5

Mid-term exam
(CSB 6th floor lab)

 

Topics

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Topics

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Revision 342009-03-03 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 36 to 36
 

Feb 19

HTTP, CGI programming
(slides)

Instant messaging systems
(slides)

CGI book (Colburn, safari on-line)
IRCP (part II, chap. 10, network protocols handbook, safari on-line)
Jabber and XMPP(part II of programming Jabber by Adams, safari on-line)

Feb 23

Web 2.0 (slides)
XHTML, CSS, Java Script, Ajax

Instant messaging systems (cont'd)

Web 2.0 programming (van der Vlist et al. books24x7)

Feb 25

Object vs. class
(slides)

Web 2.0 (cont'd)
XSLT (slides)

Self language (talk and paper by Smith and Unger, acm library)
Changed:
<
<

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Thursdays
in March

Web programming
HTTP, XML, AJAX, CSS, RSS, Atom, SVG
Beginning XML 4th Ed. by Hunter et al. (books24x7 via ur subscription, Chapters 13, 22)
>
>

Mar 3

Design patterns

Design patterns in Ruby by Olsen (safari on-line via ur subscription)
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Mar 5

Mid-term exam
(CSB 6th floor lab)

 

Topics

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Topics

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Topics

Web programming
HTTP, XML, AJAX, CSS, RSS, Atom, SVG
Beginning XML 4th Ed. by Hunter et al. (books24x7 via ur subscription, Chapters 13, 22)
 

Apr. 2, 7, 9

Scalable systems I

theory of locality
The locality principle by Denning (acm lib)
Whole-program locality by Ding et al. (acm lib)

Apr. 14, 16

Scalable systems II

genetic "systems"

Selfish gene by Dawkins in 1976 (read Chapter 4, the gene machine, and Chapter 5, aggression and stability)

Apr. 21, 23

Scalable systems III

game theory

material and reading tbd

Revision 332009-02-26 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 35 to 35
 

Feb. 17

Software design (cont'd)

Lazy data structure and memoization (cont'd)

Why interaction is more powerful than algorithms (acm lib)

Feb 19

HTTP, CGI programming
(slides)

Instant messaging systems
(slides)

CGI book (Colburn, safari on-line)
IRCP (part II, chap. 10, network protocols handbook, safari on-line)
Jabber and XMPP(part II of programming Jabber by Adams, safari on-line)

Feb 23

Web 2.0 (slides)
XHTML, CSS, Java Script, Ajax

Instant messaging systems (cont'd)

Web 2.0 programming (van der Vlist et al. books24x7)
Changed:
<
<

Feb 25

Object vs. class

Web 2.0 (cont'd)
XSLT

Self language (talk and paper by Smith and Unger, acm library)
>
>

Feb 25

Object vs. class
(slides)

Web 2.0 (cont'd)
XSLT (slides)

Self language (talk and paper by Smith and Unger, acm library)
 

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Revision 322009-02-26 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 35 to 35
 

Feb. 17

Software design (cont'd)

Lazy data structure and memoization (cont'd)

Why interaction is more powerful than algorithms (acm lib)

Feb 19

HTTP, CGI programming
(slides)

Instant messaging systems
(slides)

CGI book (Colburn, safari on-line)
IRCP (part II, chap. 10, network protocols handbook, safari on-line)
Jabber and XMPP(part II of programming Jabber by Adams, safari on-line)

Feb 23

Web 2.0 (slides)
XHTML, CSS, Java Script, Ajax

Instant messaging systems (cont'd)

Web 2.0 programming (van der Vlist et al. books24x7)
Added:
>
>

Feb 25

Object vs. class

Web 2.0 (cont'd)
XSLT

Self language (talk and paper by Smith and Unger, acm library)
 

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Revision 312009-02-24 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 34 to 34
 

Feb. 12

Lazy evaluation, streams, memoization
(slides)

Revision control(slides by Kelsey)

*storing, retrieving, logging, splitting, merging

Structure and interpretation of computer programs on-line book site, Sec. 3.5
Lazy list (by Frank)
Local wiki page on svn (VersionStuff)
In class demos by Kelsey

Feb. 17

Software design (cont'd)

Lazy data structure and memoization (cont'd)

Why interaction is more powerful than algorithms (acm lib)

Feb 19

HTTP, CGI programming
(slides)

Instant messaging systems
(slides)

CGI book (Colburn, safari on-line)
IRCP (part II, chap. 10, network protocols handbook, safari on-line)
Jabber and XMPP(part II of programming Jabber by Adams, safari on-line)
Changed:
<
<

Feb 23

Web 2.0
XHTML, CSS, Java Script, Ajax

Instant messaging systems (cont'd)

Web 2.0 programming (van der Vlist et al. books24x7)
>
>

Feb 23

Web 2.0 (slides)
XHTML, CSS, Java Script, Ajax

Instant messaging systems (cont'd)

Web 2.0 programming (van der Vlist et al. books24x7)
 

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Revision 302009-02-23 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 34 to 34
 

Feb. 12

Lazy evaluation, streams, memoization
(slides)

Revision control(slides by Kelsey)

*storing, retrieving, logging, splitting, merging

Structure and interpretation of computer programs on-line book site, Sec. 3.5
Lazy list (by Frank)
Local wiki page on svn (VersionStuff)
In class demos by Kelsey

Feb. 17

Software design (cont'd)

Lazy data structure and memoization (cont'd)

Why interaction is more powerful than algorithms (acm lib)

Feb 19

HTTP, CGI programming
(slides)

Instant messaging systems
(slides)

CGI book (Colburn, safari on-line)
IRCP (part II, chap. 10, network protocols handbook, safari on-line)
Jabber and XMPP(part II of programming Jabber by Adams, safari on-line)
Added:
>
>

Feb 23

Web 2.0
XHTML, CSS, Java Script, Ajax

Instant messaging systems (cont'd)

Web 2.0 programming (van der Vlist et al. books24x7)
 

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Revision 292009-02-19 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 30 to 30
 

Jan. 20, 22

Everything is an object
(slides)

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)

Jan. 27, 29

Everything is a function
(slides)

Lambda calculus, functional design

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

The essence of programming languages
(slides)

Scheme, actor model, Smalltalk

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)

The early history of Smalltalk by Kay (acm lib)

Changed:
<
<

Feb. 10

Brooks on software design
(slides)

functional design in OO languages iterator design as an example

No Silver Bullet: Essence and Accidents of Software Engineering (on-line html)
The mythical man-month (acm lib, slides)
block, proc, and lambda in Ruby web post by Bendersky

Feb. 12

Lazy evaluation, streams, memoization
(slides)

Revision control
(slides by Kelsey)

storing, retrieving, logging, splitting, merging

Structure and interpretation of computer programs on-line book site, Sec. 3.5
Lazy list (by Frank)
Local wiki page on svn (VersionStuff)
In class demos by Kelsey

>
>

Feb. 10

Brooks on software design
(slides)

functional design in OO languages iterator design as an example

No Silver Bullet: Essence and Accidents of Software Engineering (on-line html)
The mythical man-month (acm lib, slides)
block, proc, and lambda in Ruby web post by Bendersky

Feb. 12

Lazy evaluation, streams, memoization
(slides)

Revision control(slides by Kelsey)

*storing, retrieving, logging, splitting, merging

Structure and interpretation of computer programs on-line book site, Sec. 3.5
Lazy list (by Frank)
Local wiki page on svn (VersionStuff)
In class demos by Kelsey

 

Feb. 17

Software design (cont'd)

Lazy data structure and memoization (cont'd)

Why interaction is more powerful than algorithms (acm lib)

Changed:
<
<

Feb 19

HTTPD, CGI programming

Instant messaging systems

CGI book (Colburn, safari on-line)
IRCP (part II, chap. 10, network protocols handbook, safari on-line)
Jabber and XMPP(part II of programming Jabber by Adams, safari on-line)
>
>

Feb 19

HTTP, CGI programming
(slides)

Instant messaging systems
(slides)

CGI book (Colburn, safari on-line)
IRCP (part II, chap. 10, network protocols handbook, safari on-line)
Jabber and XMPP(part II of programming Jabber by Adams, safari on-line)
 

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Revision 282009-02-19 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 28 to 28
 
Lecture Topic Reading

Jan. 15

Introduction to complexity
(slides, ur access only)

programming, design, collaboration

Voices of computing by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)

Jan. 20, 22

Everything is an object
(slides)

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)
Changed:
<
<

Jan. 27, 29

Everything is a function
(slides)

Lambda calculus, functional design

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

The essence of programming languages
(slides)

Scheme, actor model, Smalltalk

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)

The early history of Smalltalk by Kay (acm lib)

Feb. 10

Brooks on software design
(slides)

functional design in OO languages iterator design as an example

No Silver Bullet: Essence and Accidents of Software Engineering (on-line html)
The mythical man-month (acm lib, slides)
block, proc, and lambda in Ruby web post by Bendersky

Feb. 12

Lazy evaluation, streams, memoization
(slides)

Revision control
(slides by Kelsey)

storing, retrieving, logging, splitting, merging

Structure and interpretation of computer programs on-line book site, Sec. 3.5
Lazy list (by Frank)
Local wiki page on svn (VersionStuff)
In class demos by Kelsey

>
>

Jan. 27, 29

Everything is a function
(slides)

Lambda calculus, functional design

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

The essence of programming languages
(slides)

Scheme, actor model, Smalltalk

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)

The early history of Smalltalk by Kay (acm lib)

Feb. 10

Brooks on software design
(slides)

functional design in OO languages iterator design as an example

No Silver Bullet: Essence and Accidents of Software Engineering (on-line html)
The mythical man-month (acm lib, slides)
block, proc, and lambda in Ruby web post by Bendersky

Feb. 12

Lazy evaluation, streams, memoization
(slides)

Revision control
(slides by Kelsey)

storing, retrieving, logging, splitting, merging

Structure and interpretation of computer programs on-line book site, Sec. 3.5
Lazy list (by Frank)
Local wiki page on svn (VersionStuff)
In class demos by Kelsey

 

Feb. 17

Software design (cont'd)

Lazy data structure and memoization (cont'd)

Why interaction is more powerful than algorithms (acm lib)

Changed:
<
<

Feb 19

HTTPD, CGI programming

Group chat-room design

 
>
>

Feb 19

HTTPD, CGI programming

Instant messaging systems

CGI book (Colburn, safari on-line)
IRCP (part II, chap. 10, network protocols handbook, safari on-line)
Jabber and XMPP(part II of programming Jabber by Adams, safari on-line)
 

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Revision 272009-02-17 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 26 to 26
 

Class Schedule and Reading Material

Lecture Topic Reading
Changed:
<
<

Jan. 15

Introduction to complexity

programming, design, collaboration

Voices of computing by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)

Jan. 20, 22

Everything is an object

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)

Jan. 27, 29

Everything is a function

Lambda calculus, functional design

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

The essence of programming languages

Scheme, actor model, Smalltalk

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)

The early history of Smalltalk by Kay (acm lib)

Feb. 10

Brooks on software design

functional design in OO languages iterator design as an example

No Silver Bullet: Essence and Accidents of Software Engineering (on-line html)
The mythical man-month (acm lib, slides)
block, proc, and lambda in Ruby web post by Bendersky

Feb. 12

Lazy evaluation, streams, memoization

Revision control

storing, retrieving, logging, splitting, merging

Structure and interpretation of computer programs on-line book site, Sec. 3.5
Lazy list (by Frank)
Local wiki page on svn (VersionStuff)
In class demos by Kelsey

>
>

Jan. 15

Introduction to complexity
(slides, ur access only)

programming, design, collaboration

Voices of computing by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)

Jan. 20, 22

Everything is an object
(slides)

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)

Jan. 27, 29

Everything is a function
(slides)

Lambda calculus, functional design

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

The essence of programming languages
(slides)

Scheme, actor model, Smalltalk

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)

The early history of Smalltalk by Kay (acm lib)

Feb. 10

Brooks on software design
(slides)

functional design in OO languages iterator design as an example

No Silver Bullet: Essence and Accidents of Software Engineering (on-line html)
The mythical man-month (acm lib, slides)
block, proc, and lambda in Ruby web post by Bendersky

Feb. 12

Lazy evaluation, streams, memoization
(slides)

Revision control
(slides by Kelsey)

storing, retrieving, logging, splitting, merging

Structure and interpretation of computer programs on-line book site, Sec. 3.5
Lazy list (by Frank)
Local wiki page on svn (VersionStuff)
In class demos by Kelsey

 

Feb. 17

Software design (cont'd)

Lazy data structure and memoization (cont'd)

Why interaction is more powerful than algorithms (acm lib)

Changed:
<
<

Feb 19

HTTPD, CGI programming

Group chat-room design

 
>
>

Feb 19

HTTPD, CGI programming

Group chat-room design

 
 

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Revision 262009-02-17 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 26 to 26
 

Class Schedule and Reading Material

Lecture Topic Reading
Changed:
<
<

Jan. 15

Introduction to complexity

programming, design, collaboration

Voices of computing by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)
>
>

Jan. 15

Introduction to complexity

programming, design, collaboration

Voices of computing by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)
 

Jan. 20, 22

Everything is an object

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)

Jan. 27, 29

Everything is a function

Lambda calculus, functional design

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

The essence of programming languages

Scheme, actor model, Smalltalk

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)

The early history of Smalltalk by Kay (acm lib)

Changed:
<
<

Feb. 10

Brooks on software design

No Silver Bullet: Essence and Accidents of Software Engineering (on-line html)

The mythical man-month (acm lib, slides)

Feb. 12

Revision control

storing, retrieving, logging, splitting, merging

Local wiki page on svn (VersionStuff)

In class demos

>
>

Feb. 10

Brooks on software design

functional design in OO languages iterator design as an example

No Silver Bullet: Essence and Accidents of Software Engineering (on-line html)
The mythical man-month (acm lib, slides)
block, proc, and lambda in Ruby web post by Bendersky

Feb. 12

Lazy evaluation, streams, memoization

Revision control

storing, retrieving, logging, splitting, merging

Structure and interpretation of computer programs on-line book site, Sec. 3.5
Lazy list (by Frank)
Local wiki page on svn (VersionStuff)
In class demos by Kelsey

Feb. 17

Software design (cont'd)

Lazy data structure and memoization (cont'd)

Why interaction is more powerful than algorithms (acm lib)

Feb 19

HTTPD, CGI programming

Group chat-room design

 
 

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)
Changed:
<
<

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

>
>

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

 

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Thursdays
in March

Web programming
HTTP, XML, AJAX, CSS, RSS, Atom, SVG
Beginning XML 4th Ed. by Hunter et al. (books24x7 via ur subscription, Chapters 13, 22)

Apr. 2, 7, 9

Scalable systems I

theory of locality
The locality principle by Denning (acm lib)
Whole-program locality by Ding et al. (acm lib)

Revision 252009-02-10 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 14 to 14
  Lectures: Tuesdays 9:40-10:55am in CSB 601 and Thursdays 11.05am-12.20pm in CSB 632.
Deleted:
<
<
NEW Vote here your convenient times for class rescheduling! NEW
 Office hours: Ding, Fridays, 10am to 11am or by appointment, CSB Rm 710, x51373. Kostas, Fridays 4pm to 6pm, or by appointment, CSB Rm 626

Grading: total 100%

Revision 242009-02-09 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 58 to 58
 
META FILEATTACHMENT attachment="objects_handout.pdf" attr="h" comment="Everything is an object - Class notes handout" date="1232310770" name="objects_handout.pdf" path="objects_handout.pdf" size="5125617" stream="objects_handout.pdf" tmpFilename="/tmp/9qwYNWw3bg" user="KonstantinosMenychtas" version="2"
META FILEATTACHMENT attachment="func_handout.pdf" attr="h" comment="" date="1232775125" name="func_handout.pdf" path="func_handout.pdf" size="408684" stream="func_handout.pdf" tmpFilename="/tmp/aFk7oobFuR" user="KonstantinosMenychtas" version="1"
Changed:
<
<
META PREFERENCE name="ALLOWTOPICCHANGE" title="ALLOWTOPICCHANGE" type="Set" value="ChenDing, KonstantinosMenychtas"
>
>
META PREFERENCE name="ALLOWTOPICCHANGE" title="ALLOWTOPICCHANGE" type="Set" value="ChenDing, KonstantinosMenychtas, ArrvindhShriraman"

Revision 232009-02-04 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 30 to 30
 
Lecture Topic Reading

Jan. 15

Introduction to complexity

programming, design, collaboration

Voices of computing by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)

Jan. 20, 22

Everything is an object

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)
Changed:
<
<

Jan. 27, 29

Everything is a function

Lambda calculus

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

Closures, actors

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)
>
>

Jan. 27, 29

Everything is a function

Lambda calculus, functional design

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

The essence of programming languages

Scheme, actor model, Smalltalk

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)

The early history of Smalltalk by Kay (acm lib)

Feb. 10

Brooks on software design

No Silver Bullet: Essence and Accidents of Software Engineering (on-line html)

The mythical man-month (acm lib, slides)

Feb. 12

Revision control

storing, retrieving, logging, splitting, merging

Local wiki page on svn (VersionStuff)

In class demos

 

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Revision 222009-01-25 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 40 to 40
 

Apr. 14, 16

Scalable systems II

genetic "systems"

Selfish gene by Dawkins in 1976 (read Chapter 4, the gene machine, and Chapter 5, aggression and stability)

Apr. 21, 23

Scalable systems III

game theory

material and reading tbd
Changed:
<
<

Written and Programming Assignments

>
>

Written and Programming Assignments NEW

 

Revision 212009-01-24 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 10 to 10
 

Instructor, Office Hours, and Grading

Changed:
<
<
Instructor: Chen Ding, Prof.

Teaching assistant: Konstantinos Menychtas
>
>
Instructor: Chen Ding, Prof.

Teaching assistant: Konstantinos (Kostas) Menychtas
  Lectures: Tuesdays 9:40-10:55am in CSB 601 and Thursdays 11.05am-12.20pm in CSB 632.

NEW Vote here your convenient times for class rescheduling! NEW

Changed:
<
<
Office hours: Ding, Fridays, 10am to 11am or by appointment, CSB Rm 710, x51373. Menychtas, TBD.
>
>
Office hours: Ding, Fridays, 10am to 11am or by appointment, CSB Rm 710, x51373. Kostas, Fridays 4pm to 6pm, or by appointment, CSB Rm 626
  Grading: total 100%
Line: 30 to 30
 
Lecture Topic Reading

Jan. 15

Introduction to complexity

programming, design, collaboration

Voices of computing by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)

Jan. 20, 22

Everything is an object

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)
Changed:
<
<

Jan. 27, 29

Everything is a function

Lambda calculus

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)
>
>

Jan. 27, 29

Everything is a function

Lambda calculus

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)
 

Feb. 3, 5

Closures, actors

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

Line: 55 to 55
 
  • TWiki-related: Formatting hints and conventions we follow for the class TWiki pages

META FILEATTACHMENT attachment="objects_handout.pdf" attr="h" comment="Everything is an object - Class notes handout" date="1232310770" name="objects_handout.pdf" path="objects_handout.pdf" size="5125617" stream="objects_handout.pdf" tmpFilename="/tmp/9qwYNWw3bg" user="KonstantinosMenychtas" version="2"
Added:
>
>
META FILEATTACHMENT attachment="func_handout.pdf" attr="h" comment="" date="1232775125" name="func_handout.pdf" path="func_handout.pdf" size="408684" stream="func_handout.pdf" tmpFilename="/tmp/aFk7oobFuR" user="KonstantinosMenychtas" version="1"
 
META PREFERENCE name="ALLOWTOPICCHANGE" title="ALLOWTOPICCHANGE" type="Set" value="ChenDing, KonstantinosMenychtas"

Revision 202009-01-24 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 12 to 12
  Instructor: Chen Ding, Prof.

Teaching assistant: Konstantinos Menychtas
Changed:
<
<
Lectures: Tuesdays and Thursdays, 11.05am-12.20pm, at CSB 632.
>
>
Lectures: Tuesdays 9:40-10:55am in CSB 601 and Thursdays 11.05am-12.20pm in CSB 632.
  NEW Vote here your convenient times for class rescheduling! NEW
Changed:
<
<
Office hours: Ding, Fridays, 11am to 12pm or by appointment, CSB Rm 710, x51373. Menychtas, TBD.
>
>
Office hours: Ding, Fridays, 10am to 11am or by appointment, CSB Rm 710, x51373. Menychtas, TBD.
  Grading: total 100%

Revision 192009-01-23 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290A: Collaborative Software Engineering, Spring 2009

Line: 43 to 43
 

Written and Programming Assignments

Changed:
<
<
>
>
 

Class Collaboration and Help

Line: 52 to 52
 
  • Question and Answers: Post questions and answers on anything concerning the class.
  • Tools: Information about tools we are going to be using.
  • External Resources: Links to useful resources not falling in the previous categories.
Added:
>
>
  • TWiki-related: Formatting hints and conventions we follow for the class TWiki pages
 
META FILEATTACHMENT attachment="objects_handout.pdf" attr="h" comment="Everything is an object - Class notes handout" date="1232310770" name="objects_handout.pdf" path="objects_handout.pdf" size="5125617" stream="objects_handout.pdf" tmpFilename="/tmp/9qwYNWw3bg" user="KonstantinosMenychtas" version="2"
META PREFERENCE name="ALLOWTOPICCHANGE" title="ALLOWTOPICCHANGE" type="Set" value="ChenDing, KonstantinosMenychtas"

Revision 182009-01-23 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"
Changed:
<
<

CSC 290: Collaborative Software Engineering, Spring 2009

>
>

CSC 290A: Collaborative Software Engineering, Spring 2009

 
Line: 43 to 43
 

Written and Programming Assignments

Changed:
<
<
  • Assignments TBA
>
>
 

Class Collaboration and Help

Revision 172009-01-21 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290: Collaborative Software Engineering, Spring 2009

Line: 33 to 33
 

Jan. 27, 29

Everything is a function

Lambda calculus

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

Closures, actors

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)
Changed:
<
<

Thursdays
in February

Programming tools
libraries, source browsing, version control, module systems, virtual machines
Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
other material to be posted
>
>

Thursdays
in February

Programming tools

libraries, source browsing, version control, module systems, virtual machines

Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
Version control with subversion (free on-line version)
other material to be posted

 

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Thursdays
in March

Web programming
HTTP, XML, AJAX, CSS, RSS, Atom, SVG
Beginning XML 4th Ed. by Hunter et al. (books24x7 via ur subscription, Chapters 13, 22)

Apr. 2, 7, 9

Scalable systems I

theory of locality
The locality principle by Denning (acm lib)
Whole-program locality by Ding et al. (acm lib)
Changed:
<
<

Apr. 14, 16

Scalable systems II genetic "systems"

Selfish gene by Dawkins in 1976 (read Chapter 4, the gene machine, and Chapter 5, aggression and stability)

Apr. 21, 23

Scalable systems III game theory

material and reading tbd
>
>

Apr. 14, 16

Scalable systems II

genetic "systems"

Selfish gene by Dawkins in 1976 (read Chapter 4, the gene machine, and Chapter 5, aggression and stability)

Apr. 21, 23

Scalable systems III

game theory

material and reading tbd
 

Written and Programming Assignments

Revision 162009-01-21 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290: Collaborative Software Engineering, Spring 2009

Line: 12 to 12
  Instructor: Chen Ding, Prof.

Teaching assistant: Konstantinos Menychtas
Changed:
<
<
Lectures: Tuesdays 9.40am-10.55am, Thursdays 11.05am-12.20pm, at CSB 632
>
>
Lectures: Tuesdays and Thursdays, 11.05am-12.20pm, at CSB 632.

NEW Vote here your convenient times for class rescheduling! NEW

  Office hours: Ding, Fridays, 11am to 12pm or by appointment, CSB Rm 710, x51373. Menychtas, TBD.

Revision 152009-01-19 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290: Collaborative Software Engineering, Spring 2009

Line: 52 to 52
 

META FILEATTACHMENT attachment="objects_handout.pdf" attr="h" comment="Everything is an object - Class notes handout" date="1232310770" name="objects_handout.pdf" path="objects_handout.pdf" size="5125617" stream="objects_handout.pdf" tmpFilename="/tmp/9qwYNWw3bg" user="KonstantinosMenychtas" version="2"
Added:
>
>
META PREFERENCE name="ALLOWTOPICCHANGE" title="ALLOWTOPICCHANGE" type="Set" value="ChenDing, KonstantinosMenychtas"

Revision 142009-01-19 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290: Collaborative Software Engineering, Spring 2009

Line: 27 to 27
 
Lecture Topic Reading

Jan. 15

Introduction to complexity

programming, design, collaboration

Voices of computing by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)
Changed:
<
<

Jan. 20, 22

Everything is an object

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)
>
>

Jan. 20, 22

Everything is an object

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)
 

Jan. 27, 29

Everything is a function

Lambda calculus

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

Closures, actors

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)
Changed:
<
<

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools
libraries, source browsing, version control, module systems, virtual machines
Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
other material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Thursdays
in March

Web programming
HTTP, XML, AJAX, CSS, RSS, Atom, SVG
Beginning XML 4th Ed. by Hunter et al. (books24x7 via ur subscription, Chapters 13, 22)
>
>

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools
libraries, source browsing, version control, module systems, virtual machines
Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
other material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Thursdays
in March

Web programming
HTTP, XML, AJAX, CSS, RSS, Atom, SVG
Beginning XML 4th Ed. by Hunter et al. (books24x7 via ur subscription, Chapters 13, 22)
 

Apr. 2, 7, 9

Scalable systems I

theory of locality
The locality principle by Denning (acm lib)
Whole-program locality by Ding et al. (acm lib)

Apr. 14, 16

Scalable systems II genetic "systems"

Selfish gene by Dawkins in 1976 (read Chapter 4, the gene machine, and Chapter 5, aggression and stability)

Apr. 21, 23

Scalable systems III game theory

material and reading tbd

Revision 132009-01-18 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290: Collaborative Software Engineering, Spring 2009

Line: 51 to 51
 
  • Tools: Information about tools we are going to be using.
  • External Resources: Links to useful resources not falling in the previous categories.
Changed:
<
<
META FILEATTACHMENT attachment="objects_handout.pdf" attr="h" comment="Everything is an object - Class notes handout" date="1232264184" name="objects_handout.pdf" path="objects_handout.pdf" size="4684066" stream="objects_handout.pdf" tmpFilename="/tmp/2vXuH9baXk" user="KonstantinosMenychtas" version="1"
>
>
META FILEATTACHMENT attachment="objects_handout.pdf" attr="h" comment="Everything is an object - Class notes handout" date="1232310770" name="objects_handout.pdf" path="objects_handout.pdf" size="5125617" stream="objects_handout.pdf" tmpFilename="/tmp/9qwYNWw3bg" user="KonstantinosMenychtas" version="2"

Revision 122009-01-18 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290: Collaborative Software Engineering, Spring 2009

Line: 27 to 27
 
Lecture Topic Reading

Jan. 15

Introduction to complexity

programming, design, collaboration

Voices of computing by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)
Changed:
<
<

Jan. 20, 22

Everything is an object

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)
>
>

Jan. 20, 22

Everything is an object

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)
 

Jan. 27, 29

Everything is a function

Lambda calculus

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

Closures, actors

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)
Line: 50 to 50
 
  • Question and Answers: Post questions and answers on anything concerning the class.
  • Tools: Information about tools we are going to be using.
  • External Resources: Links to useful resources not falling in the previous categories.
\ No newline at end of file
Added:
>
>
META FILEATTACHMENT attachment="objects_handout.pdf" attr="h" comment="Everything is an object - Class notes handout" date="1232264184" name="objects_handout.pdf" path="objects_handout.pdf" size="4684066" stream="objects_handout.pdf" tmpFilename="/tmp/2vXuH9baXk" user="KonstantinosMenychtas" version="1"

Revision 112009-01-15 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290: Collaborative Software Engineering, Spring 2009

Line: 12 to 12
  Instructor: Chen Ding, Prof.

Teaching assistant: Konstantinos Menychtas
Changed:
<
<
Lectures: Tuesdays and Thursdays, 9.40am-10.55am, CSB 632
>
>
Lectures: Tuesdays 9.40am-10.55am, Thursdays 11.05am-12.20pm, at CSB 632
  Office hours: Ding, Fridays, 11am to 12pm or by appointment, CSB Rm 710, x51373. Menychtas, TBD.

Revision 102009-01-15 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

CSC 290: Collaborative Software Engineering, Spring 2009

Line: 12 to 12
  Instructor: Chen Ding, Prof.

Teaching assistant: Konstantinos Menychtas
Changed:
<
<
Lectures: Tuesdays and Thursdays, 11.05am-12:20pm, CSB 632
>
>
Lectures: Tuesdays and Thursdays, 9.40am-10.55am, CSB 632
  Office hours: Ding, Fridays, 11am to 12pm or by appointment, CSB Rm 710, x51373. Menychtas, TBD.

Revision 92009-01-15 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"
Changed:
<
<

CSC 290: Collaborative Software Engineering, Spring 2009

>
>

CSC 290: Collaborative Software Engineering, Spring 2009

 
Line: 41 to 41
 

Written and Programming Assignments

Changed:
<
<
  • More TBA
>
>
  • Assignments TBA
 

Class Collaboration and Help

Line: 49 to 49
 
  • Question and Answers: Post questions and answers on anything concerning the class.
  • Tools: Information about tools we are going to be using.
Changed:
<
<
>
>

Revision 82009-01-15 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"
Changed:
<
<

CSC 290 Collaborative software engineering, Spring 2009


>
>

CSC 290: Collaborative Software Engineering, Spring 2009

 
Changed:
<
<

>
>
 
Changed:
<
<

Course description

>
>

Course Description

  This experimental course teaches principles and practices of collaborative software development. The topics include fundamentals of programming (more for organizing information than for managing computers), software engineering, scalable information systems, and current practice and tools for teamwork and virtual collaboration. The assignments are a series of individual and group programming projects designing software interacting through the Web.
Changed:
<
<

Instructor, office hours, and grading

>
>

Instructor, Office Hours, and Grading

  Instructor: Chen Ding, Prof.

Teaching assistant: Konstantinos Menychtas
Line: 24 to 23
 
    • 40% for individual projects
    • 40% for team projects
Changed:
<
<

Class schedule and reading material (last updated 9-Jan-09) NEW

>
>

Class Schedule and Reading Material

 
Lecture Topic Reading

Jan. 15

Introduction to complexity

programming, design, collaboration

Voices of computing by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)
Line: 39 to 38
 

Apr. 14, 16

Scalable systems II genetic "systems"

Selfish gene by Dawkins in 1976 (read Chapter 4, the gene machine, and Chapter 5, aggression and stability)

Apr. 21, 23

Scalable systems III game theory

material and reading tbd
Changed:
<
<

Example programs

Show IP address http://betaweb.csug.rochester.edu/cs290/dingweb/show-my-ip-address.cgi shows the IP address of the client computer. The program has 15 lines of code.
Web-based hashtable http://betaweb.csug.rochester.edu/cs290/dingweb/show-my-ip-address.cgi allows anyone to insert key and value pairs from one computer and retrieve them from any other computer. The usage is as follows
  • to insert: http://betaweb.csug.rochester.edu/cs290/dingweb/hashtable.cgi?k=key&v=val
  • to query: http://betaweb.csug.rochester.edu/cs290/dingweb/hashtable.cgi?k=key
>
>

Written and Programming Assignments

 
Changed:
<
<
The program has 159 lines of code. The core is about 40 lines, and the rest is producing timing information such as the date/time of the insertion and the oldest entry in the table.
>
>
 
Changed:
<
<
The table has a maximal size. Oldest entries are removed if the table becomes too large. Don't store anything that you cannot afford to lose!
Source code The source code is currently under svn and can be checked out from /p/compiler/repos/dingweb. The programs are written in Ruby.
>
>

Class Collaboration and Help

 
Changed:
<
<

Work in progress (restricted access)

>
>
Use the power of the wiki to collaborate and help each other - Edit or Add content to the following pages as you wish:
 
Changed:
<
<

>
>

Revision 72009-01-15 - KonstantinosMenychtas

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"
Changed:
<
<

CSC 290 Collaborative software engineering

>
>

CSC 290 Collaborative software engineering, Spring 2009



 

Course description

This experimental course teaches principles and practices of collaborative software development. The topics include fundamentals of programming (more for organizing information than for managing computers), software engineering, scalable information systems, and current practice and tools for teamwork and virtual collaboration. The assignments are a series of individual and group programming projects designing software interacting through the Web.

Added:
>
>

Instructor, office hours, and grading

Instructor: Chen Ding, Prof.

Teaching assistant: Konstantinos Menychtas

Lectures: Tuesdays and Thursdays, 11.05am-12:20pm, CSB 632

Office hours: Ding, Fridays, 11am to 12pm or by appointment, CSB Rm 710, x51373. Menychtas, TBD.

Grading: total 100%

  • Written assignments account for 20% of your total grade
  • Programming assignments account for 80% of your total grade
    • 40% for individual projects
    • 40% for team projects
 

Class schedule and reading material (last updated 9-Jan-09) NEW

Lecture Topic Reading

Revision 62009-01-09 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"
Line: 8 to 8
  This experimental course teaches principles and practices of collaborative software development. The topics include fundamentals of programming (more for organizing information than for managing computers), software engineering, scalable information systems, and current practice and tools for teamwork and virtual collaboration. The assignments are a series of individual and group programming projects designing software interacting through the Web.
Changed:
<
<

Class schedule and reading material NEW

>
>

Class schedule and reading material (last updated 9-Jan-09) NEW

 
Lecture Topic Reading
Changed:
<
<

Jan. 15

Introduction to complexity

programming, design, collaboration

The profession of IT by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)
>
>

Jan. 15

Introduction to complexity

programming, design, collaboration

Voices of computing by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)
 

Jan. 20, 22

Everything is an object

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)

Jan. 27, 29

Everything is a function

Lambda calculus

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

Closures, actors

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)
Changed:
<
<

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater(books24x7 via ur subscription)

Thursdays
in February

Programming tools
source browsing, version control, module systems
handouts, in-class notes, and on-line material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
handouts
Schuh's book on Agile development
(books24x7 via ur subscription, read Chapter 3)

Thursdays
in March

Web programming
HTTP, XML, AJAX, CSS, RSS
Web 2.0 programming, by van der Vlist et al. (books24x7 via ur subscription, read Chapter 1)
RSS programming, by Ayers and Watt (books24x7 via ur subscription, read Chapter 21)

classes
in April

Large-scale systems

Is computer science science by Denning(acm lib)
Epigrams on programming by Perlis (acm library)
>
>

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater (books24x7 via ur subscription)
UML (Chapter 14 of Kak, books24x7, Chapter 5 of Garland and Anthony, books24x7)

Thursdays
in February

Programming tools
libraries, source browsing, version control, module systems, virtual machines
Open source development with CVS, 2nd Ed., Fogel & Bar (books24x7 via ur subscription, Chapters 2, 6, 9)
diet libc by von Leitner (an entertaining presentation, see also Chapter 13 of von Hagen's GCC book at book24x7)
Java virtual machine (Chapter 1 of Spell, books24x7, Chapter 14 of Meyers, books24x7)
other material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
Epigrams on programming by Perlis (acm library)
Software paradigms by Kaisler (books24x7 via ur subscription)
Components, COTS(Lau editor, books24x7, read Chapter 1)
Schuh's book on Agile development(books24x7 via ur subscription, read Chapter 3)
other material tbd

Thursdays
in March

Web programming
HTTP, XML, AJAX, CSS, RSS, Atom, SVG
Beginning XML 4th Ed. by Hunter et al. (books24x7 via ur subscription, Chapters 13, 22)

Apr. 2, 7, 9

Scalable systems I

theory of locality
The locality principle by Denning (acm lib)
Whole-program locality by Ding et al. (acm lib)

Apr. 14, 16

Scalable systems II genetic "systems"

Selfish gene by Dawkins in 1976 (read Chapter 4, the gene machine, and Chapter 5, aggression and stability)

Apr. 21, 23

Scalable systems III game theory

material and reading tbd
 

Example programs

Show IP address http://betaweb.csug.rochester.edu/cs290/dingweb/show-my-ip-address.cgi shows the IP address of the client computer. The program has 15 lines of code.

Revision 52009-01-08 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"
Changed:
<
<

CSC 290 Collaborative Software Engineering

>
>

CSC 290 Collaborative software engineering

 
Changed:
<
<

Course Description

>
>

Course description

 
Changed:
<
<
Running on low-cost, powerful computers, immense storage, and ubiquitous networks, a new generation of software has radically changed how information is distributed and accessed and is opening new possibilities in how (fast) knowledge is created and used. This revolution has been compared to the advent of printing, and the pertinent expertise and skill are considered as basic and essential as reading and writing.
>
>
This experimental course teaches principles and practices of collaborative software development. The topics include fundamentals of programming (more for organizing information than for managing computers), software engineering, scalable information systems, and current practice and tools for teamwork and virtual collaboration. The assignments are a series of individual and group programming projects designing software interacting through the Web.
 
Changed:
<
<
This experimental course teaches principles and practices of collaborative software development. The topics include fundamentals of programming (more for organizing information than for managing computers), software engineering, scalable information systems, and current practice and tools for teamwork and virtual collaboration. The assignments are mainly a series of group projects designing and implementing from scratch web-based software including a wiki-like system that can be programmed to produce various web applications that are in common use today.
>
>

Class schedule and reading material NEW

 
Changed:
<
<

Draft Syllabus

  • Programming languages and tools
    • how to define and describe---essence of programming
      • object orientation, lambda calculus, continuation passing, actor model, Curry-Howard isomorphism
      • case studies: scheme, Java, ruby, R
    • how to link and reuse---libraries and packages, type theory, module composition, design patterns, virtual machines
      • case studies: C header files, Java packages, managed run-time, augmenting an interpreted language
    • how to build---tools for version control, source browsing, debugging, and distributing
      • using emacs and command window
      • case study: the anatomy of a million-line open-source application
    • how to collaborate---tools for collaboration
      • chats, wiki, issue tracking, web 2.0
      • design problem: programmable wiki
  • Software engineering
    • history: programmable computers, high-level languages, software crisis, Unix, personal computing, interpreted languages, agile and extreme programming
    • software development process
      • requirement analysis, specification, architecture, implementation, testing, deployment, documentation
      • waterfall model, iterative, incremental, adaptive
    • basis of the discipline
      • modular design, information hiding, separation of concerns
      • selected reading: Brooks, Parnas, Milner, Kennedy, Booch, Gabriel
    • user interface design and documentation
    • case studies of industry software development (IBM/Microsoft/Google)
  • Collective intelligence and scalable information systems
    • collaborative information processing: searching, filtering, ranking, clustering, modeling, predicting
    • composition, communication, complexity
      • locality, connectivity, and other emergent properties
    • decentralized and self-organizing systems
      • strategy games, evolutionary systems
    • sustainable development
      • ethics, privacy, outsourcing, cloud computing, should software be free?
>
>
Lecture Topic Reading

Jan. 15

Introduction to complexity

programming, design, collaboration

The profession of IT by Denning (acm library)
History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library, modest image/sound quality and limited playback control)
"Can't be built", by Gabriel (ieee library)

Jan. 20, 22

Everything is an object

object-oriented programming

Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown)
Ruby programming (free on-line book by Thomas and Hunt, another by Cooper from books24x7 through ur subscription)

Jan. 27, 29

Everything is a function

Lambda calculus

Church numerals (wiki page)
How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access, reference book for Scheme/general programming, use PLT Scheme)

Feb. 3, 5

Closures, actors

Evolution of lisp by Steele and Gabriel (acm lib, read 2.8, 2.10, 3.5 at least)

Tuesdays
in February

Design patterns
creational, behavioral, structural patterns, UML
Design patterns by Lasater(books24x7 via ur subscription)

Thursdays
in February

Programming tools
source browsing, version control, module systems
handouts, in-class notes, and on-line material to be posted

Tuesdays
in March

Software engineering
development process, teamwork
handouts
Schuh's book on Agile development
(books24x7 via ur subscription, read Chapter 3)

Thursdays
in March

Web programming
HTTP, XML, AJAX, CSS, RSS
Web 2.0 programming, by van der Vlist et al. (books24x7 via ur subscription, read Chapter 1)
RSS programming, by Ayers and Watt (books24x7 via ur subscription, read Chapter 21)

classes
in April

Large-scale systems

Is computer science science by Denning(acm lib)
Epigrams on programming by Perlis (acm library)
 
Changed:
<
<

Example Programs

>
>

Example programs

  Show IP address http://betaweb.csug.rochester.edu/cs290/dingweb/show-my-ip-address.cgi shows the IP address of the client computer. The program has 15 lines of code.
Web-based hashtable http://betaweb.csug.rochester.edu/cs290/dingweb/show-my-ip-address.cgi allows anyone to insert key and value pairs from one computer and retrieve them from any other computer. The usage is as follows
Line: 60 to 39
 
Changed:
<
<
>
>

Revision 42008-11-26 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"
Line: 42 to 42
 
    • sustainable development
      • ethics, privacy, outsourcing, cloud computing, should software be free?
Added:
>
>

Example Programs

Show IP address http://betaweb.csug.rochester.edu/cs290/dingweb/show-my-ip-address.cgi shows the IP address of the client computer. The program has 15 lines of code.
Web-based hashtable http://betaweb.csug.rochester.edu/cs290/dingweb/show-my-ip-address.cgi allows anyone to insert key and value pairs from one computer and retrieve them from any other computer. The usage is as follows
  • to insert: http://betaweb.csug.rochester.edu/cs290/dingweb/hashtable.cgi?k=key&v=val
  • to query: http://betaweb.csug.rochester.edu/cs290/dingweb/hashtable.cgi?k=key

The program has 159 lines of code. The core is about 40 lines, and the rest is producing timing information such as the date/time of the insertion and the oldest entry in the table.

The table has a maximal size. Oldest entries are removed if the table becomes too large. Don't store anything that you cannot afford to lose!


Source code The source code is currently under svn and can be checked out from /p/compiler/repos/dingweb. The programs are written in Ruby.
 

Work in progress (restricted access)

Revision 32008-10-20 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"
Line: 8 to 8
  Running on low-cost, powerful computers, immense storage, and ubiquitous networks, a new generation of software has radically changed how information is distributed and accessed and is opening new possibilities in how (fast) knowledge is created and used. This revolution has been compared to the advent of printing, and the pertinent expertise and skill are considered as basic and essential as reading and writing.
Changed:
<
<
This experimental course teaches principles and practices of collaborative software development and its use in converting data into knowledge and knowledge into tools. The topics include fundamentals of programming (more for organizing information than for managing computers), lessons from past information systems, and current practice and tools for teamwork and (virtual) collaboration. The main assignments are a series of group projects including the final project of developing a possibly on-line recommendation system. The projects will be evaluated based on the design, implementation, and deployment, including an end-of-semester competition based on a user survey.
>
>
This experimental course teaches principles and practices of collaborative software development. The topics include fundamentals of programming (more for organizing information than for managing computers), software engineering, scalable information systems, and current practice and tools for teamwork and virtual collaboration. The assignments are mainly a series of group projects designing and implementing from scratch web-based software including a wiki-like system that can be programmed to produce various web applications that are in common use today.
 

Draft Syllabus

  • Programming languages and tools
Changed:
<
<
    • essence of programming---how to create and communicate
      • object orientation, lambda calculus, continuation passing, Guy Steele's discovery of actor model, Curry-Howard isomorphism
>
>
    • how to define and describe---essence of programming
      • object orientation, lambda calculus, continuation passing, actor model, Curry-Howard isomorphism
 
      • case studies: scheme, Java, ruby, R
Changed:
<
<
    • libraries and packages, type theory, module composition, design patterns, virtual machines---how to reuse
>
>
    • how to link and reuse---libraries and packages, type theory, module composition, design patterns, virtual machines
 
      • case studies: C header files, Java packages, managed run-time, augmenting an interpreted language
Changed:
<
<
    • tools for version control, source browsing, debugging, and distributing---how to build
>
>
    • how to build---tools for version control, source browsing, debugging, and distributing
 
      • using emacs and command window
      • case study: the anatomy of a million-line open-source application
Changed:
<
<
    • tools for collaboration---how to grow
>
>
    • how to collaborate---tools for collaboration
 
      • chats, wiki, issue tracking, web 2.0
      • design problem: programmable wiki
  • Software engineering

Revision 22008-09-22 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"
Changed:
<
<

CSC 290 Collaborative Software Development and Collective Knowledge Engineering

>
>

CSC 290 Collaborative Software Engineering

 

Course Description

Line: 11 to 11
 This experimental course teaches principles and practices of collaborative software development and its use in converting data into knowledge and knowledge into tools. The topics include fundamentals of programming (more for organizing information than for managing computers), lessons from past information systems, and current practice and tools for teamwork and (virtual) collaboration. The main assignments are a series of group projects including the final project of developing a possibly on-line recommendation system. The projects will be evaluated based on the design, implementation, and deployment, including an end-of-semester competition based on a user survey.

Draft Syllabus

Changed:
<
<
  • Fundation of programming
    • what's a program
    • abstraction and implementation (lambda calculus)
    • object orientation
    • dynamic languages
    • case studies
      • continuation and actor model

>
>
  • Programming languages and tools
    • essence of programming---how to create and communicate
      • object orientation, lambda calculus, continuation passing, Guy Steele's discovery of actor model, Curry-Howard isomorphism
      • case studies: scheme, Java, ruby, R
    • libraries and packages, type theory, module composition, design patterns, virtual machines---how to reuse
      • case studies: C header files, Java packages, managed run-time, augmenting an interpreted language
    • tools for version control, source browsing, debugging, and distributing---how to build
      • using emacs and command window
      • case study: the anatomy of a million-line open-source application
    • tools for collaboration---how to grow
      • chats, wiki, issue tracking, web 2.0
      • design problem: programmable wiki
 
  • Software engineering
Added:
>
>
    • history: programmable computers, high-level languages, software crisis, Unix, personal computing, interpreted languages, agile and extreme programming
    • software development process
      • requirement analysis, specification, architecture, implementation, testing, deployment, documentation
      • waterfall model, iterative, incremental, adaptive
 
    • basis of the discipline
Changed:
<
<
      • Brooks, Parnas, and other selected reading
    • version control, testing, bug tracking
    • virtual collaboration (chats, wiki, remote file sharing)
>
>
      • modular design, information hiding, separation of concerns
      • selected reading: Brooks, Parnas, Milner, Kennedy, Booch, Gabriel
 
    • user interface design and documentation
Changed:
<
<
    • case studies
      • Gcc and open source
      • industry software development (IBM or Microsoft)

  • Collective intelligence
    • data representation and processing
    • data modeling and data mining
    • case studies
  • Scalable information systems
>
>
    • case studies of industry software development (IBM/Microsoft/Google)
  • Collective intelligence and scalable information systems
    • collaborative information processing: searching, filtering, ranking, clustering, modeling, predicting
    • composition, communication, complexity
      • locality, connectivity, and other emergent properties
 
    • decentralized and self-organizing systems
Added:
>
>
      • strategy games, evolutionary systems
 
    • sustainable development
Changed:
<
<
    • related literature
      • strategy games
      • evolutionary principles
    • case studies
      • Web 2.0

>
>
      • ethics, privacy, outsourcing, cloud computing, should software be free?
 

Work in progress (restricted access)

Revision 12008-09-08 - ChenDing

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="ChenDing"

CSC 290 Collaborative Software Development and Collective Knowledge Engineering

Course Description

Running on low-cost, powerful computers, immense storage, and ubiquitous networks, a new generation of software has radically changed how information is distributed and accessed and is opening new possibilities in how (fast) knowledge is created and used. This revolution has been compared to the advent of printing, and the pertinent expertise and skill are considered as basic and essential as reading and writing.

This experimental course teaches principles and practices of collaborative software development and its use in converting data into knowledge and knowledge into tools. The topics include fundamentals of programming (more for organizing information than for managing computers), lessons from past information systems, and current practice and tools for teamwork and (virtual) collaboration. The main assignments are a series of group projects including the final project of developing a possibly on-line recommendation system. The projects will be evaluated based on the design, implementation, and deployment, including an end-of-semester competition based on a user survey.

Draft Syllabus

  • Fundation of programming
    • what's a program
    • abstraction and implementation (lambda calculus)
    • object orientation
    • dynamic languages
    • case studies
      • continuation and actor model

  • Software engineering
    • basis of the discipline
      • Brooks, Parnas, and other selected reading
    • version control, testing, bug tracking
    • virtual collaboration (chats, wiki, remote file sharing)
    • user interface design and documentation
    • case studies
      • Gcc and open source
      • industry software development (IBM or Microsoft)

  • Collective intelligence
    • data representation and processing
    • data modeling and data mining
    • case studies
  • Scalable information systems
    • decentralized and self-organizing systems
    • sustainable development
    • related literature
      • strategy games
      • evolutionary principles
    • case studies
      • Web 2.0

Work in progress (restricted access)

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding URCS? Send feedback