COURSE DESCRIPTION
Department, Number
|
CIS 150
|
Course Title
|
Computer Science I
|
Semester hours
|
4
|
Course Coordinator
|
Dr. Louis Tsui
|
Current Catalog Description
This course provides a foundation for further studies in computer and information science and emphasizes a structured approach to problem solving and algorithm development. Topics include principles of program design, coding, debugging, testing, and documentation. Students are introduced to the Unified Modeling Language for requirements analysis using use-cases and activity diagrams, an object-oriented programming language (C++), and the fundamentals of computer hardware, system software, and components. The course will consist of three lecture hours and one two-hour laboratory.
Textbooks
N. Dale and C. Weems, Programming and Problem Solving with C++ (4th Edition), Jones and Bartlett, 2005
N. Dale, A Laboratory Course in C++ (4th Edition), Jones and Bartlett, 2005
Reference
M. Fowler, UML Distilled (3rd Edition), Addison-Wesley, 2003
Prerequisites by Topic
-
Concurrent calculus class
-
Analytical skill for problem analysis
-
Ability to design, modify, and trace simple algorithms.
-
Ability to use a computer for sending/receiving email, writing, and browsing.
Major Topics Covered in the Course
-
Overview of computer organization and components (1 hour)
-
Use of computers and operating systems (NT/2000/XP) (2 hours)
-
Problem solving and algorithm development (2 hours)
-
Requirements analysis using use cases and activity diagrams (2 hours)
-
C++ control structures, procedures, parameter transmission (10 hours)
-
C++ data types, arrays, records, strings, sets (10 hours)
-
Sequential data files (2 hours)
-
Program testing, verification, and debugging (3 hours)
-
Programming using class objects (2 hours)
-
Pointers and recursion (2 hours)
-
Algorithms, basic concept (sorting, searching,...) (3 hours)
-
Computing ethics and social responsibility (2 hours)
-
Exams (4 hours)
Estimate Curriculum Category Content (Semester hours)
Area
|
Core
|
Advanced
|
Area
|
Core
|
Advanced
|
Algorithms
|
0.25
|
|
Software design
|
0.25
|
|
Data structures
|
0.5
|
|
Concepts of programming languages
|
3
|
|
Computer organization and architecture
|
|
|
|
|
|
Estimate CSAB Category Content
|
CORE
|
|
ADVANCED
|
|
|
CORE
|
|
ADVANCED
|
Data Structures
|
0.5
|
|
0.0
|
|
Computer Organization and Architecture
|
0.0
|
|
0.0
|
Algorithms Software Design
|
0.5
|
|
0.0
|
|
Concepts of Programming Languages
|
3.0
|
|
0.0
|
COURSE DESCRIPTION
Department, Number
|
CIS 200
|
Course Title
|
Computer Science II
|
Semester hours
|
4
|
Course Coordinator
|
Dr. Louis Tsui
|
Current Catalog Description
A presentation of techniques for the design, writing, testing, and debugging of medium-sized programs, and an introduction to data structures (stacks, queues, linked lists) using the C++ programming language. C++ topics covered include pointers, templates, and inheritance. The principles of UML modeling are also introduced. This course will consist of three lecture hours and one two-hour laboratory.
Textbooks
N. Dale, C++ Plus Data Structures (4th Edition), Jones and Bartlett, 2007
N. Dale, A Laboratory Course in C++ (4th Edition), Jones and Bartlett, 2005
M.G. Sobel, A Practical Guide to the Unix System (3rd Edition), Benjamin-Cummings, 1995
References
H. Deitel and P. Deitel, C++ How to Program, Prentice Hall, 2007
R.S. Pressman, Software Engineering: A Practitioner’s Approach, McGraw Hill, 2004
http://www.engin.umd.umich.edu/CIS/course.des/cis375/ppt/lec12a.ppt
http://www.ambysoft.com/essays/crcModeling.html
http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/crc_b/
http://www.engin.umd.umich.edu/CIS/course.des/cis375/ppt/lec8.ppt
Prerequisites by Topic
-
Ability to write small programs involving various control structures
-
Ability to write user defined functions
-
Ability to implement arrays and simple classes
Major Topics Covered in the Course
-
The generic activities associated with the software development process (1 hour)
-
UML class, sequence, state machine, and activity diagrams representing program designs (1 hour)
-
Create simple test cases and test plans for unit and integration testing of programs. (1 hour)
-
Use object-oriented design to create libraries of related classes that can be used to solve real-world problems. (1 hour)
-
Design of software so that it is easily modifiable (1 hour)
-
Professional codes of ethics and social responsibility (1 hour)
-
C++ files, streams, random access files (1 hours)
-
The tradeoff considerations for data design implementations (1 hour)
-
Analyze simple algorithms to determine their efficiency (2 hours)
-
Basic use of Unix (3 hours)
-
C++ classes (3 hours)
-
Templates (2 hours)
-
Pointers (2 hours)
-
Inheritance (1 hour)
-
Recursion and problem solving (2 hours)
-
Stacks, queues, linked lists (12 hours)
-
Sorting and searching algorithms (4 hours)
-
Exams (6 hours)
Estimate Curriculum Category Content (Semester hours)
Area
|
Core
|
Advanced
|
Area
|
Core
|
Advanced
|
Algorithms
|
0.5
|
|
Software design
|
1.5
|
|
Data structures
|
1.0
|
|
Concepts of programming languages
|
1.0
|
|
Computer organization and architecture
|
|
|
|
|
|
Estimate CSAB Category Content
|
CORE
|
|
ADVANCED
|
|
|
CORE
|
|
ADVANCED
|
Data Structures
|
1
|
|
|
|
Computer Organization and Architecture
|
|
|
|
Algorithms Software Design
|
2
|
|
|
|
Concepts of Programming Languages
|
1
|
|
|
COURSE DESCRIPTION
Department, Number
|
CIS 275
|
Course Title
|
Computer Science II
|
Semester hours
|
4
|
Course Coordinator
|
Dr. Bruce Elenbogen
|
Current Catalog Description
An introduction to various topics in discrete mathematics, such as set theory, mathematical logic, trees, graph theory, finite-state machines, and BNF grammars. Applications to relational databases, modeling reactive systems, and program verification are also discussed.
Textbooks
K. Rosen, Discrete Mathematics and its Applications (6th Edition), McGraw Hill, 2007
K. Rosen, Discrete Mathematics and its Applications – Solutions Guide (6th Edition), McGraw Hill, 2007
References
N/A
Prerequisites by Topic
-
Ability to write small programs involving various control structures
-
Understand functions from a mathematical point of view
Major Topics Covered in the Course
-
Logic (3 hours)
-
Proof techniques (3 hours)
-
Correctness of algorithms using assertions (3 hours)
-
Relational databases (1 hour)
-
Sets (1 hour)
-
Relations and functions (5 hours)
-
Number theory (2 hours)
-
Algorithms and complexity (5 hours)
-
Counting (optional)
-
Recurrence relations (3 hours)
-
Graph theory (6 hours)
-
Trees (3 hours)
-
Boolean algebras (2 hours)
-
Circuits (optional)
-
Models of computation (14 hours)
-
Finite automata (should be able to apply to program)
-
Regular expressions
-
Non-determinism
-
Kleene’s theorem
-
Regular Grammars
-
BNF Grammars
-
Tests (7 hours)
Estimate Curriculum Category Content (Semester hours)
Area
|
Core
|
Advanced
|
Area
|
Core
|
Advanced
|
Algorithms
|
2.5
|
|
Software design
|
|
|
Data structures
|
0.5
|
|
Concepts of programming languages
|
|
|
Computer organization and architecture
|
|
|
|
|
|
CSAB Content
1 hour of theory
1.5 hour algorithm analysis
1 hour algorithms
.5 hour data structures
COURSE DESCRIPTION
Department, Number
|
CIS 285
|
Course Title
|
Software Engineering Tools
|
Semester hours
|
3
|
Course Coordinator
|
Dr. Kiumi Akingbehin
|
Current Catalog Description
Coverage of various CASE tools, such as UML modeling and code generation tools, configuration management tools, defect management tools, an integrated development environment for coding and debugging, unit and testing tools, and build tools. Students will learn these tools in a laboratory environment. The course will be comprised of two lecture hours and one two-hour laboratory.
Textbooks
M. Fowler, UML Distilled (3rd Edition), AddisonWesley, 2004
A. Hunt and D. Thomas, Pragmatic Unit Testing in Java with JUnit, Pragmatic Bookshelf, 2003
A. Hunt and D. Thomas, Pragmatic Unit Testing in C# with NUnit (2nd Edition), Pragmatic Bookshelf, 2007
A. Hunt and D. Thomas, Pragmatic Version Control Using CVS (2nd Edition), Pragmatic Programmers, 2003
References
The Apache Ant Project, http://ant.apache.org/
Prerequisites by Topic
-
Fundamental of programming languages.
-
Analytical skill for problem analysis
-
Knowledge of data structure and algorithms
Major Topics Covered in the Course
-
Software lifecycle phases and associated tools (3 hours)
-
Software configuration management (6 hours)
-
Software defect management (3 hours)
-
Software build tools (make file, configure) (3 hours)
-
Software unit testing (6 hours)
-
Software test case management and system testing (3 hours)
-
Software requirements analysis and design artifacts
-
Requirements capture using use cases (3 hours)
-
Requirements analysis using activity diagrams (3 hours)
-
Fundamentals of objects and its relationships (3 hours)
-
Object interaction (3 hours)
-
State diagrams (3 hours)
-
Tests (2 hours)
Estimate Curriculum Category Content (Semester hours)
Area
|
Core
|
Advanced
|
Area
|
Core
|
Advanced
|
Algorithms
|
|
|
Software design
|
|
|
Data structures
|
|
|
Concepts of programming languages
|
|
|
Computer organization and architecture
|
|
|
|
|
|
Estimate CSAB Category Content
|
CORE
|
|
ADVANCED
|
|
|
CORE
|
|
ADVANCED
|
Data Structures
|
0.0
|
|
0.5
|
|
Computer Organization and Architecture
|
0.0
|
|
0.5
|
Algorithms Software Design
|
0.0
|
|
1.5
|
|
Concepts of Programming Languages
|
0.0
|
|
0.0
|
COURSE DESCRIPTION
Department, Number
|
CIS 294
|
Course Title
|
Visual Basic Programming
|
Semester hours
|
3
|
Course Coordinator
|
Dr. Brahim Medjahed
|
Share with your friends: |