|
Nov 21, 2024
|
|
|
|
CSCI 1082 - Object-Oriented Programming Credits: 3 Hours/Week: Lecture 3Lab None Course Description: This course introduces the concepts of object-oriented programming to students with a background in the procedural paradigm. It begins with a review of control structures and data types with emphasis on structured data types and array processing. It then moves on to introduce the object-oriented programming approach, focusing on the definition and use of classes along with the fundamentals of object-oriented design. Other topics include an overview of programming language principles, simple analysis of algorithms and an introduction to software engineering issues. MnTC Goals None
Prerequisite(s): CSCI 1081 or CSCI 2011. Corequisite(s): None Recommendation: None
Major Content
- Fundamentals of event-driven programming
- Human-computer interaction: Introduction to design issues
- Introduction to computer graphics: Using a simple graphics API
- Introduction to language translation: Comparison of interpreters and compilers; language translation phases; machine-dependent and machine-independent aspects of translation
- Object-oriented design concepts and techniques including use of a modeling language such as UML and use of patterns
- Object-oriented programming: Object-oriented design; encapsulation and information hiding; separation of behavior and implementation; classes, subclasses, and inheritance; polymorphism; class hierarchies; exception-handling
- Review of control structures, functions, and primitive data types
- Software maintenance; characteristics of maintainable software; software reuse
- Virtual machines: The concept of a virtual machine; hierarchy of virtual machines; intermediate languages
Learning Outcomes At the end of this course students will be able to:
- Use object-oriented classes and tools as well as basic user-interface design principles to develop event-driven, graphical user applications.
- Explain how object-oriented features can promote reusability and software-engineering.
- Demonstrate understanding of related concepts such as virtual machines, intermediate-languages, interfaces, generics, exception-handling, etc.
- Demonstrate knowledge of the fundamental object-oriented constructs, structures and techniques through their appropriate use in programs or program segments.
- Use a modeling language to facilitate program design.
- Use object-oriented principles and concepts to design, develop, code and test a program of moderate complexity.
Courses and Registration
Add to Portfolio (opens a new window)
|
|