Download CS 2300 - Computer Science Home

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
College of Science and Health
Department of Computer Science
Course Coverage Assessment Report
Course:
Instructor:
Semester:
CS 2300: Computer Science I_____________________________________________________________________________
_____________________________________________________________________________________________________
______________________________________________________________________________________________________
Topics
1.
2.
3.
4.
Software fundamentals
 Categories of programming languages
 Application versus system programs
 Editors, compilers/interpreters, and the linkage editor
 Source codes, object codes, and executable files
Hardware fundamentals
 Functional units of a computer and their characteristics: CPU, main memory,
secondary storage, input and output systems.
 Basic operations of a computer: input data, process data, and ouput of the
result.
 Instructions execution cycle: the fetch, decode, and execute cycle.
Program development environment: Windows and Visual C++ IDE or equivalent
 OS basics: files, secondary storage, and basic operations on files and
directories.
 Integrated Development Environment such a Visual C++
 How to run a C++ program: preprocess, compile, link, load, and execute cycle
Basic elements of the C++ programming language:
 comments, statements, and the preprocessor directives,
 identifiers and keywords,
 Variables, basic data types, and the declaration statement.
 Constants and data representation.
 Assignment statement.
 Arithmetic expressions
 Output and formatted output using cout
 Input using cin
 Naming constants: const variables and the #define directive.
 Structure of a C++ program: functions and function main.
 Concepts of procedural and object-oriented programming
Course
Learning
Outcome
L2
L18
L1, L11,
L19
L3, L4
How is topic
Covered?
How is Knowledge assessed?
Lecture
HW
HandsOn
Test
Lab
Project
Comments/Suggestions
About Learning Outcome and/or Topics
(please use additional sheets if necessary)
5.
Problem solving and algorithm development



6.
7.
8.
Concept of an algorithm and algorithm specification using flowcharts and
pseudocodes.
Logical expressions.
Problem solving using control structures: one-way selection using the ifstructure; two-way selection using the if-else-structure; counter-controlled
iteration using the while/for-loop structure; multiple-way selection using the
if-else structure; logically-controlled iteration using the while/for-loop
structure; sentinel-controlled iteration using the while/for-loop structure.
 Path of program execution and software testing: tracing the execution of a
program.
Problem solving using more complex control structures:
 Multiple-way selection using the switch structure.
 Logically-controlled iteration using the do-while structure.
 Problem solving using nested if-else structures.
 Problem solving using nested iterations.
Functions:
 Concept of procedural abstraction
 Function definition, function prototypes, and header files
 Calling void functions and functions that return a value.
 The C++ library functions
 Scope and lifetime of a variable
 Parameter-passing mechanisms: call-by-value versus call-by-reference
 Signature of a function and function overloading
 Structured program development: top-down design and stepwise refinement.
Pointers and Arrays
 Concept of a pointer variable
 Pointer variables definition and initialization
 Using a pointer variable to access the value of a memory location.
 Using a pointer variable to access a memory location.
 Pointer parameters.
 Concept of an one-dimensional array
 Defining and referencing one-dimensional arrays.
 Using indexed variables and initialization of a one-dimensional array.
 Processing one-dimensional arrays.
 Passing a one-dimensional array to a function.
 Sorting (bubble sort/selection sort) and searching (linear search and binary
search)
 Problem solving with one-dimension arrays
 Concept of a two-dimensional array
 Defining and referencing two-dimensional arrays.
 Using indexed variables and initialization of a two-dimensional array.
 Processing two-dimensional arrays.
L5, L6,
L8, L12
L7, L9,
L10
L14, L15
L9, L10,
L13, L16,
L17


9.
Passing a two-dimensional array to a function.
Problem solving with two-dimension arrays
Hands-on activities
 Formulate solutions to practical problems
 Develop algorithms in terms of flowchart/pseudocode
 Convert algorithms to C++ source code
 Test run the debug programs in Windows platform using the IDE of C++ such
as Microsoft Visual C++
Comments/Suggestions about Prerequisites and Co-requisites:
General Comments/Suggestions about the Course:
L1, L5,
L11, L19
Learning Outcomes
1. I am able to create, compile, and run a C++ program
2. I am able to explain the difference between high-level languages and low-level languages
3. I am able to describe the concept of a variable, and evaluate arithmetic expressions
4. I am able to write a program using simple input/output statements
5. I am able to write a simple algorithm from program specification
6. I am able to write an use simple if-else or switch statements
7. I am able to write and use nested if- else statements
8. I am able to use and write simple while or for statements
9.
I am able to use and write nested while/for statements
10. I am able to combine if-else, while, and for statements
11. I am able to write, document, execute, debug and test a program in at least one program development
12. I am able to trace the flow of a given piece of code
13. I am able to write and use one-dimensional arrays
14. I am able to create a function which uses pass-by-value
15. I am able to create a function which uses pass-by-reference.
16. I am able to handle the basic concepts and implementation of arrays and pointers
17. I am able to write programs with two-dimensional arrays
18. I am able to describe the major components of a digital computer system with their functions
19. I can program a computer in C++