Description
Essential principles, techniques and tools used to develop large software programs in Java, and going "under the hood" with memory addressing and management in C.
Credits: 4
01:198:112 or 14:332:351.
Please note that courses for which a student has received a grade of D cannot be used to satisfy prerequisite requirements.
Semesters Offered:Spring and fall
Topics: Iterative development of software
Designing and implementing class hierarchies, Unified Modeling Language
(UML), design patterns, object persistence
Software development in Eclipse
Code maintenance and version management using CVS
Testing, debugging, using and documenting APIs
Asynchronous (event-driven) programming in a Graphical Use Interface
(GUI) framework
Multithreading
Memory addressing, dynamic memory management, data structures and
modular software development using C
Expected Work: Several homework assignments
Individual and paired programming projects
Exams: Midterm and final exams