|
Nov 22, 2024
|
|
|
|
2023-2024 Catalog [PAST CATALOG]
|
CTP 150H - Computer Science 1-Honors4 credit hours - Three hours of lecture and two hours of laboratory weekly; one term. This is an honors course.
Use fundamental design principles and problem-solving techniques introduced in CTP 115 to develop computer algorithms. Implement algorithms as programs coded in Java, an object-oriented programming language. Learn the data types, control structures, classes, arrays, and I/O in the Java programming language. Learn graphical user interfaces, inheritance, polymorphism, recursion, and exceptions. Emphasize style, documentation, solution robustness, and conformance with specifications throughout course work.
Prerequisite or Corequisite: CTP 115 or CTP 115H and eligibility for Honors courses or permission of computer science department chair.
Crosslisted: Also offered as CTP 150 . Credit is not given for both CTP 150 and CTP 150H.
Note: CTP 115 prerequisite is waived for students who complete AP Computer Science. Credit is not given for both CTP 150 and CSI 161 or CSI 162.
Course Outcomes:
- Apply the fundamental programming constructs to create a solution to a programming problem.
- Correctly use basic syntax and semantics of a higher-level language.
- Understand and describe variables, types, expressions, and assignment.
- Write a computer program that will use console input and output.
- Use and describe conditional and iterative control structures.
- Use and describe functions and parameter passing.
- Apply problem solving techniques to create robust algorithms.
- Understand the role of algorithms in the problem-solving process
- Formulate precise specifications for a problem and its solution
- Create modular designs of problem solutions
- Understand and use preconditions and post-conditions
- Apply debugging strategies
- Understand and use fundamental data structures.
- Understand and apply primitive types
- Understand and apply reference types
- Understand and apply strings and string processing
- Understand and apply arrays and array processing
- Understand and describe data representation in memory
- Understand and describe the evolution of programming languages.
- Describe the history of programming languages
- Survey programming paradigms to include procedural languages and object-oriented languages
- Understand the effects of scale on programming methodology
- Perform identifier declarations and appropriate data types.
- Understand the concept of types as a set of values together with a set of operations
- Understand the appropriate declaration models (scope, static and non-static data)
- Describe type checking
- Describe garbage collection
- Create computer programs using Object-Oriented Design techniques.
- Understand and describe the model-view-control design pattern
- Understand and code correctly collaboration among classes
- Understand and code correctly relationships between classes (is-a, has-a)
- Understand and design programs using appropriate class hierarchies.
- Understand and apply Object-Oriented Concepts.
- Define and use correctly user-defined classes
- Define and use built in classes
- Define and use classes from the API
- Define and use correctly encapsulation and information hiding
- Define identity, state and behavior
- Define and use inheritance and polymorphism
- Understand Java Database Connectivity
- Understand and use software tools and programming environments.
- Use effectively these features of an Integrated Development Environments (IDEs): Editors, Compilers, Debuggers and tracing techniques
- Use correctly Unified Modeling Language (UML) tools
- Discuss software installation and setup procedures
- Apply Software Validation techniques.
- Design a software validation plan
- Use black-box and white-box testing techniques
- Perform unit integration validation and system testing
- Discuss Professional and Ethical Responsibilities.
- Discuss acceptable use policies for computing in the workplace
- Discuss codes of ethics, conduct, and practice (IEEE, ACM, etc)
- Create a Graphical User Interface.
- Create Windows
- Create Frames
- Create Buttons and ActionListeners
- Create Labels and TextFields
|
|