Rice
FIS

FIS image header
  •  
  •  
  •  
  •  
  •  
Download 
Scholarly Interest Report
         
Dung X. Nguyen
Lecturer
Lecturer in Computer Science
 
e-mail:dxnguyen@rice.edu
 
  • Ph.D. Mathematics (1981) University of California, Berkeley, Berkeley, CA
  • M.A. Mathematics (1979) University of California, Berkeley, Berkeley, CA
  • B.S. Mathematics (1976) Texas Tech Univesity, Lubbock, TX
 
Primary Department
   Department of Computer Science
Picture
 
Websites
 DungNguyen
 
Research Areas
 Object-Oriented Programming, Programming Methodology
 
Object-Oriented Programming in the small
 I believe that object-orientation (OO) is a natural paradigm for teaching abstraction, problem-solving skills, and software design. However, current research in the area of object-oriented software development only concentrates on the aspects and issues of programming in the large. OO topics are usually taught at the upper division and graduate level, leaving the question of how to apply the concepts of OO to programming in the small practically unanswered.

This has lead a small group of computer science educators like myself to direct our research effort toward developing OO methodologies that not only scale up to large software construction but also scale down to programming in the small such as designing and implementing data structures.

My research revolves around how to reformulate and re-implement all the common data structures and algorithms as object-oriented frameworks, which then can serve as basic software components with which to build larger components.

I believe the OO principles used in building large software can be and should be taught in the first year of the Computer Science curriculum. Students need to be exposed early to solid object-oriented designs and sound software engineering principles.

Correctness, reduced complexity, robustness, flexibility, and extensibility are not just buzzwords. They can be achieved with object oriented programming (OOP) done appropriately and correctly as exemplified by design patterns.

By applying object-oriented patterns to the design of data structures and the development of algorithms, we teach students the principles of programming in the large but yet on a scale appropriate for their level of understanding.
 
Teaching Areas
 Programming
 
Selected Publications
 Refereed articles
 

D. Nguyen, M. Ricken, and S. Wong "Design Patterns for Marine Biology Simulation." SIGCSE Bulletin, 36(1) (2004)

 
 

C. Alphonse, P. Ventura, S. Wong, D.X. Nguyen "Teaching Object-orientation and Design patterns in CS1/CS2 with Killer Examples." 34th SIGCSE Technical symposium (Feb 2003)

 
 

S. Wong, D.X. Nguyen "Design Patterns for Self-Balancing Trees." OOPSLA 2002 (Nov. 2002) : 60-70.

 
 Refereed conference papers
 

D. Nguyen, M. Ricken, and S. Wong "Design Patterns for Parsing." Proceedings of the 36th SIGCSE Technical Symposium in Computer Science Education (2005) : 477-481.

 
 

E. Cheng, D. Nguyen, M. Ricken, and S. Wong "Abstract Factories and the Shape Calculator." Companion to the Proceedings of the 19th SIGPLAN OOPSLA Conference (2004) : 101-102.

 
 

E. Cheng, D. Nguyen, M. Ricken, and S. Wong "Marine Biology Simulation." Proceedings of the 19th SIGPLAN OOPSLA Conference (2004) : 109-110.

 
 

C. Alphonse, D. Nguyen, P. Ventura, M. Wick, S. Wong "Second "Killer Examples" for Design Patters and Objects First Workshop." OOPSLA (Oct. 27, 2)

 
 

C. Alphonse, D. Nguyen, P. Ventura, Michael Wick, and Stephen Wong "Teaching Design Patterns in CS1/CS2 Workshop." SIGCSE Technical Symposium (March 2004) In Press

 
 

M. Ricken, D. Nguyen, and S. Wong "Design Patterns for Marine Biology Simulation." SIGCSE Technical Symposium in Computer Science Education (March 2004) In Press

 
 

S. Wong, D. Nguyen "Design Patterns for Games." Proceedings of the 33rd SIGCSE Technical Symposium in Computer Science Education (Mar 2002) : 126-130.

 
 Other
 

C. Alphonse, D. Nguyen, P. Ventura, and S. Wong "Teaching Object-orientation and Design Patterns in CS1/CS2 with Killer Examples." 34th SIGCSE Technical Symposium (Feb. 21, 2)

 
 

Dung Nguyen and Stephen Wong "Design Patters for Sorting." 33rd SIGSCE Technical Symposium in Computer Science Education (February 2001) : 263-267.

 
 

Dung X. Nguyen and Stephen Wong "Design Patterns for Lazy Evaluation." 31st SIGCSE Technical Symposium in Computer Science (March 2000) : 21-25.

 
 

Dung X. Nguyen and Stephen Wong "Design Patterns for Sorting." Proceedings of 32nd SIGCSE Technical Symposium in Computer Science, February 2001, 263-267 (February 2001) : 263-267.

 
Presentations
 Invited Talks
 

"Design Patterns for Lazy Evaluation." Innovation 2005 / AIAA Houston Section and IEEE Galveston Bay Section, Gilruth Center at NASA Johnson Space Center, Houston, TX. (September 16, 2005) With Stephen Wong

 
 Other
 

"Abstract Factories and The Shape Calculator." OOPSLA 2004, Vancouver, Canada. (October 25, 2004) With Co-presented with Eric Chen

 
 

"Design Patterns for Marine Biology simulation." SIGCSE Technical Symposium in Computer Science Education, Norfolk, Virginia. (March 6, 2004) With Mathias Ricken and Stephen Wong

 
 

"Object-Oriented Programming and Design Workshop." Nong Lam University, Ho Chi Minh City, Vietnam. (July 19, 2004)

 
 

"Object-Oriented Programming and Design Workshop." Vietnam National University of Science, Ho Chi Minh City, Vietnam. (July 20, 2004)

 
 

"Teaching Design Patterns in CS1/CS2 Workshop." 35th SIGCSE Technical Symposium, Norfolk, Virginia. (Mar 5, 2004) With C. Alphonse, P. Ventura, Michael Wick, Eau Claire and Stephen Wong

 
 

"Third "Killer Examples" for Design Patterns and Objects First Workshop." OOPSLA 2004, Vancouver, Canada. (October 24, 2004) With Co-conducted with C. Alphonse, P. Ventura, and Stephen Wong

 
 

"Design Patterns for Sorting." Thirty Second SIGCSE Technical Symposium on Computer Science Education, Charlotte, North Carolina. (February 2001)

 
 

"OOP as an Enrichment of FP." Fifth Workshop on Pedagogies and Tools for Assimilating Object Oriented Concepts (OOPSLA 2001), (October 14, 2001) With D.X. Nguyen and R. Cartwright

 
 

"OOP in Introductory CS: Better Students through Abstraction." Fifth Workshop on Pedagogies and Tools for Assimilating Object Oriented Concepts (OOPSLA 2001), (0October 14, 2001) With D.X. Nguyen and S. Wong

 
 

"Design Patterns for Lazy Evaluation." 31st SIGCSE Technical Symposium on Computer Science Education, Austin, Texas. (March 2000)

 
 

"Design Patterns: Pedagogical Foundations for Object-Orientation." University of Wisconsin System Computer Science Education Workshop, Stepvens Point, Wisconsin. (October 2000)

 
Supervised Theses & Dissertations
 Dennis Lu, Master of Science DrC#: A Pedagogic IDE for C# with a Read-Eval-Print Loop. (2003) (Thesis Co-Director)