Course Catalogs • 2009-2010 • Undergraduate Catalog • Colleges and Schools • College of Engineering and Computing • School of Computing and Information Sciences
School of Computing and Information Sciences

Jainendra K. Navlakha, Professor and Interim Director
Walid Akache, Instructor
David Barton, Professor
Toby S. Berk, Professor Emeritus
Shu-Ching Chen, Associate Professor
Peter Clarke, Assistant Professor
Timothy Downey, Instructor
Xudong He, Professor
Vagelis Hristidis, Assistant Professor
Kip Irvine, Instructor
Bill Kraynek, Professor Emeritus
Tao Li, Assistant Professor
Christine Lisetti, Associate Professor
Jason Liu, Assistant Professor
Patricia McDermott-Wells, Visiting Instructor
Masoud Milani, Associate Professor
Giri Narasimhan, Professor and Associate Dean for
  Research and Graduate Studies
Deng Pan, Assistant Professor
Ana Pasztor, Professor
Alex Pelin, Associate Professor
Norman Pestaina, Instructor
Niki Pissinou, Professor
Nagarajan Prabakar, Associate Professor
Raju Rangaswami, Assistant Professor
Naphtali Rishe, Professor
S. Masoud Sadjadi, Assistant Professor
Gregory Shaw, Instructor
Geoffrey Smith, Associate Professor
Joslyn Smith, Instructor
Jill Weiss, Instructor
Mark A. Weiss, Professor and Undergraduate/Graduate
  Program Director

Zhenyu Yang, Assistant Professor
Ming Zhao, Assistant Professor
Hao Zhu, Assistant Professor
 
  The School of Computing and Information Sciences offers both undergraduate and graduate degree programs. The major program and a minor program, are described below. The School offers three undergraduate major programs and a minor program.
Bachelor of Science in Computer Science

Degree Program Hours: 120

The Bachelor of Science program in Computer Science is accredited by the Computing Accreditation Commission (ABET), 111 Market Place, Suite 1050, Baltimore, MD 21202-4012 – Telephone (410) 347-7700.

  Two tracks are available in the upper division program. The Computer Science track should be followed by the student who intends to continue to graduate study in computer science. The Software Design and Development track may be followed by the student who intends to pursue a software engineering career.

  All required and elective courses must be completed with a grade of "C" or better.

Lower Division Preparation
To qualify for admission to the program, FIU undergraduates must have met all the lower division requirements including CLAS, completed 60 semester hours, completed MAD 2104 and COP 2210 with a grade of “C” or higher, and must be otherwise acceptable into the program.
  As part of the 60 semester hours of lower division course work necessary to enter this upper division major, note the following recommendations or course requirements, or both.

Common Prerequisite Courses and Equivalencies
Courses which form part of the statewide articulation between the State University System and the Community College System will fulfill the Lower Division Common Prerequisites.
  For generic course substitutions/equivalencies for Common Program Prerequisites offered at community colleges, state colleges, or state universities, visit: http://facts.org, See Common Prerequisite Manual.

Required Courses
Common Prerequisites
COP 2210
Computer Programming I
MAC 2311
Calculus I
MAC 2312
Calculus II
PHY 2048
Physics with Calculus I
PHY 2048L
General Physics Lab I
PHY 2049
Physics with Calculus II
PHY 2049L
General Physics Lab II
Two additional one-semester courses in natural science; each of these should be a course designed for science or engineering majors. A list of additional approved courses is available through the School of Computing and Information Sciences.

Upper Division Requirements
At least 50% of the upper division credits required for the BS in Computer Science must be taken at FIU.

Courses Required for the Degree: (both tracks)

Third and Fourth Years

CGS 1920
Introduction to Computing
1
MAD 2104
Discrete Mathematics 
3
COM 3110
Business and Professional Communication
3
ENC 3213
Professional and Technical Writing
3
COT 3420
Logic for Computer Science
3
MAD 3512
Introduction to Theory of Algorithms
3
STA 3033
Introduction to Probability and Statistics for CS
3
CGS 3092
Professional Ethics & Social Issues in Computer Science
1
COP 3337
Computer Programming II
3
COP 4338
Computer Programming III
3
COP 3402
Fundamentals of Computer Systems
3
COP 3530
Data Structures
3
COP 4555
Survey of Programming Languages
3
COP 4540
Database Management
3
CDA 4101
Structured Computer Organization
3
CEN 4010
Software Engineering I
3
COP 4610
Operating Systems Principles
3
CIS 4911
Senior Project
3

Additional required courses for SDD track
CEN 4012
Software Design and Development Project
3
CEN 4021
Software Engineering II
3

Computer Science Electives

Students from both tracks must complete two courses form Set 1.
In addition, CS-track students must complete one course from Set 2.


Set 1.
COP 4009
Windows Components Technology
3
CNT 4403
Computing and Network Security
3
COP 4225
Advanced Unix Programming
3
COP 4226
Advanced Windows Programming
3
CNT 4513
Data Communications
3
CDA 4400
Computer Hardware Analysis
3
CAP 4710
Principles of Computer Graphics
3
*CEN 4021
Software Engineering II
3

Set 2.
MAD 3305
Graph Theory
3
MAD 3401
Numerical Analysis
3
MAD 4203
Introduction to Combinatorics
3
MHF 4302
Mathematical Logic
3
*CS-track students only

NOTE: Graduate courses can also be used to satisfy elective requirements. Please see adviser for approval. Graduate courses are subject to graduate fees.
  Remarks: The following courses are not acceptable for credit toward graduation, unless a student has passed the course before declaring a Computer Science major: CGS 2060, CGS 3300, CGS 2100, COP 3175, MAC 2233, STA 1013, STA 2023, STA 2122, STA 3123, QMB 3200, ESI 3161.
Accelerated Master of Science in Computer Science

Admission Requirements
  1. Current enrollment in the Bachelor’s Degree program in Computer Science at FIU.
  2. Completed at least 90 credits of coursework.
  3. Current GPA must be 3.3 or higher.
  4. GRE general test score of 1000 (verbal and quantitative combined), with a minimum quantitative score of 600.
  5. International graduate student applicants whose native language is not English are required to submit a score for the Test of English as a Foreign Language (TOEFL) or for the International English Language Testing System (IELTS).  A total score of 80 on the iBT TOEFL or 6.3 overall on the IELTS is required.
  6. Three letters of recommendation.
  7. Approval of the Graduate Committee.
General Requirements
The FIU Bachelor’s degree in Computer Science must  be awarded before the Master’s degree.

Coursework:

Required Courses:
Required courses must be completed with an average of “B” or higher, and only one course may receive a grade less than “B-“.
CEN 5011
Advanced Software Engineering
3
COP 5725
Principles of Database Management Systems
3
COP 5614
Operating Systems
3
COT 5420
Theory of Computation I
3
COT 5407
Introduction to Algorithms
3

Elective:
5 courses selected from the SCIS Graduate Course Offerings.

Overlap:
Up to 4 courses (12 credits) may be used in satisfying both the Bachelor’s and Master’s degree requirements. All overlapping courses must be approved by both graduate and undergraduate program directors before students are enrolled in such courses.
The courses must be regular 5000-level computer science graduate courses intended for graduate majors.
Bachelor of Science in Information Technology

The School of Computing and Information Sciences offers a Bachelor of Science degree in Information Technology. As part of this program students must minor in another discipline.
   The B.S. in Information Technology degree as a first major requires completion of prerequisite courses and 60 credit hours (20 courses) of required and elective courses as outlined below.  All courses must be completed with a grade of “C” or better.

Lower Division Preparation
To qualify for admission to the program, FIU undergraduates must have met all the University Core Curriculum requirements, achieve the competencies of the CLAS requirement, completed 60 semester hours and must be otherwise acceptable into the program.
  As part of the 60 semester hours of lower division course work necessary to enter this upper division major, note the following recommendations or course requirements, or both.

Common Prerequisite Courses and Equivalencies
Courses which form part of the statewide articulation between the State University System and the Community College System will fulfill the Lower Division Common Prerequisites.
  For generic course substitutions/equivalencies for Common Program Prerequisites offered at community colleges, state colleges, or state universities, visit: http://facts.org, See Common Prerequisite Manual.

Required Courses
Common Prerequisites
All students must have completed the following courses (or equivalent) prior to starting the Information Technology program.
CGS 2060
Introduction to Microcomputers
3

or

CGS 2100
Introduction to Microcomputer Applications for Business
3
COP 2250
Programming in Java
3
MAD 1100
Mathematics Concepts for Information Technology
3
PSY 2012
Introductory Psychology or equivalent
3
MAC 2147
Pre-calculus Mathematics
3
CGS 3092
Professional Ethics and Social Issues in Computer Science
1

Upper Division Requirements
At least 50% of the upper division credits required for the BS in Information Technology must be taken at FIU.

Minor in another Discipline
All students must complete a minor in another discipline (15) credits. Computer Science and Computer Engineering are not accepted as the minor for the other academic discipline.

Required Courses
All students must complete the following courses.
CGS 1920
Introduction to Computing
1
COP 3643
Microcomputer Organization
3
CGS 3767
Computer Operating Systems
3
CGS 4285
Applied Computer Networking
3
CGS 4854
Web Site Construction and Management
3
CGS 4366
Information Storage and Retrieval
3
COP 3804
Intermediate Java
3
ENC 3213
Professional & Technical Writing
3

Information Technology Electives:
All students must select two areas of concentration. Students must take two courses in each of the selected concentration areas (4 courses).  The fifth course might be selected from any available area of concentration.  The following areas of concentration are available:
  • System Administration
  • Applied Network Administration
  • Application Development
  • Databases
Free Electives
All students must complete 3 additional elective courses (9 credits).
Bachelor of Arts in Information Technology

Degree Program Hours: 120

The School of Computing and Information Sciences offers a Bachelor of Arts degree in Information Technology as a second major or as a second Bachelor Degree. This program is open to those students who are enrolled in and will be completing another bachelor degree program or those who already have a bachelor degree from an accredited institution. Computer Science and Computer Engineering are not accepted as the primary major at this time.
  The B.A. in Information Technology degree as a second major requires completion of prerequisite courses and 30 credit hours (10 courses) of required and elective courses as outlined below. All courses must be completed with a grade of “C” or better.

Lower Division Preparation
To qualify for admission to the program, FIU undergraduates must have met all the University Core Curriculum requirements, achieve the competencies of the CLAS requirement, completed 60 semester hours, must have a different primary major or a previous Bachelor degree, and must be otherwise acceptable into the program.
  As part of the 60 semester hours of lower division course work necessary to enter this upper division major, note the following recommendations or course requirements, or both.

Common Prerequisite Courses and Equivalencies
Courses which form part of the statewide articulation between the State University System and the Community College System will fulfill the Lower Division Common Prerequisites.
  For generic course substitutions/equivalencies for Common Program Prerequisites offered at community colleges, state colleges, or state universities, visit: http://facts.org, See Common Prerequisite Manual.

Required Courses
Common Prerequisites
All students must have completed the following courses (or equivalent) prior to starting the Information Technology program.
CGS 2060
Introduction to Microcomputers
3

OR

CGS 2100
Introduction to Microcomputer Applications for Business
3
COP 2250
Programming in Java
3
CGS 3559
Using the Internet
1
MAD 1100
Mathematics Concepts for Information Technology
3

Upper Division Requirements
At least 50% of the upper division credits taught by the School must be taken at the University.

Required Courses
All students must complete the following courses (18 credits).
COP 3804
Intermediate Java
3
COP 3643
Microcomputer Organization
3
CGS 3767
Computer Operating Systems
3
CGS 4285
Applied Computer Networking
3
CGS 4854
Web Site Construction and Management
3
CGS 4366
Information Storage and Retrieval
3

Information Technology Electives:
All students must complete 2 courses (6 credits) from the following.
CGS 4365
Knowledge-Based Management Systems
3
COP 3348
Introduction to Using Unix/Linux Systems
3
COP 4005
Windows Programming for IT Majors
3
COP 4009
Windows Components Technology
3
COP 4723
Database Administration
3
CTS 4348
Unix System Administration
3

Cognate Electives:
All students must complete 2 additional elective courses (6 credits). Students who are completing their major concurrent with their IT degree must choose their cognate elective courses from a list of designated courses from the department of their primary major.  Students who have received their first Bachelor Degree prior to enrolling in the IT program must instead choose an additional two courses from the list of IT elective courses.
Minor in Computer Science

Required Courses
COP 2210
Computer Programming I
4
COP 3402
Fundamental of Computer Systems
3
COP 3337
Computer Programming II
3
Plus two from the following list: COP 3175, COP 4338, COP 3530, CGS 4854, COP 4555, CDA 4101, CDA 4400, CNT 4513, CAP 4710, and MAD 3401. Normally the students from Engineering would choose COP 4338, and either COP 3530 or CDA 4101 and students from the College of Business would choose COP 3175 and one other. If one of the other options is selected, then the student should verify that he or she has the additional prerequisites necessary for the chosen course. At least nine of the 15 credits must be taken at FIU.
Course Descriptions

Definition of Prefixes
CAP-Computer Applications; CDA-Computer Design/Architecture; CEN-Computer Software Engineering; CGS-Computer General Studies; CIS-Computer Information Systems;  CNT-Computer Networks; COP-Computer Programming; COT-Computing Theory; CTS-Computer Technology and Skills

CAP 4710 Principles of Computer Graphics (3). A first course in algorithms/techniques for image generation devices, geometric transformations/matrics, algorithms for hidden surfaces, ray tracing, advanced rendering. Programming with standard graphics interface. Prerequisites: COP 3337 and MAC 2312.  This course will have additional fees.

CAP 4770 Introduction to Data Mining (3). Data mining applications, data preparation, data reduction and various data mining techniques such as association, clustering, classification, anomaly detection. Prerequisite: COP 3530. Corequisite: COP 4540.

CAP 5510C Introduction to Bioinformatics (3). Introduction to bioinformatics; algorithmic, analytical and predictive tools and techniques; programming and visualization tools; machine learning; pattern discovery; analysis of sequence alignments, phylogeny data, gene expression data, and protein structure.  Prerequisites: COP 3530 or equivalent and STA 3033 or equivalent.

CAP 5602 Introduction to Artificial Intelligence (3). Presents the basic concepts of AI and their applications to game playing, problem solving, automated reasoning, natural language processing and expert systems. Prerequisite: COP 3530. This course will have additional fees.

CAP 5610 Introduction to Machine Learning (3). Decision trees, Bayesian learning, reinforcement learning as well as theoretical concepts such as inductive bias, the PAC learning, minimum description length principle. Prerequisite: Graduate standing.

CAP 5627 Affective Intelligent Agents (3).
Design and implementation methods using artificial intelligence (AI) techniques, human-computer interaction (HCI) principles, emotion theories; applications, e.g. health informatics, education, games. Prerequisites: Graduate standing or permission of the instructor.

CAP 5701 Advanced Computer Graphics (3). Advanced topics in computer graphics: system architecture, interactive techniques, image synthesis, current research areas. Prerequisites: COP 3530 and CAP 3710 or equivalent, or by permission.  This course will have additional fees.

CDA 4101 Structured Computer Organization (3). Covers the levels of organization in a computer: Design of memory, buses, ALU, CPU; design of microprogram. Covers virtual memory, I/O, multiple processes, CISC, RISC and parallel architectures. Prerequisites: MAD 2104, COP 3402 and COP 3337. This course will have additional fees.

CDA 4400 Computer Hardware Analysis (3). The study of hardware functions of a basic computer. Topics include logic elements, arithmetic logic units, control units, memory devices, organization and I/O devices. Prerequisite: CDA 4101.

CEN 4010 Software Engineering I (3). Software Process Model, software analysis and specification, software design, testing. Prerequisite: COP 3530.  This course will have additional fees.

CEN 4012 Software Design and Development Project (3). Students design, implement, document, and test software systems working in faculty supervised project teams and utilizing knowledge obtained in previous courses. Required for Software Design and Development track. Prerequisite: CEN 4010. This course will have additional fees.

CEN 4021 Software Engineering II (3). Issues underlying the successful development of large scale software projects: Software Architectures; Software Planning and Management; Team Structures; Cost Estimation. Prerequisite: CEN 4010. This course will have additional fees.

CEN 4023 Component-Based Software Development (3). Concept of software components, component models and web services such as WSDL and SOAP. Prerequisites: COP 4338 or COP 4005 or permission of the instructor.

CEN 4072 Fundamentals of Software Testing (3). Fundamentals of software testing. Topics include: test plan creation, test case generation, program inspections, specification-based and implementation-based testing, GUI testing, and testing tools. Prerequisite: COP 3530.

CEN 5011 Advanced Software Engineering (3). This course deals with the design of large scale computer programs. Included are topics dealing with planning design, implementation, validation, metrics, and the management of such software projects. Prerequisite: CEN 4010. This course will have additional fees.

CEN 5064 Software Design (3). Study of object-oriented analysis and design of software systems based on the standard design language UML; case studies. Prerequisite: CEN 5011.

CEN 5076 Software Testing (3). Tools and techniques to validate software process artifacts: model validation, software metrics, implementation-based testing, specification-based testing, integration and systems testing. Prerequisites: CEN 4010 or CEN 5011.

CEN 5082 Grid Enablement of Scientific Applications (3). Fundamental principles and applications of high-performance computing and parallel programming using OpenMP, MPI, Globus Toolkit, Web Services, and Grid Services. Prerequisites: Graduate standing or permission of the instructor.

CEN 5120 Expert Systems (3). Introduction to expert systems, knowledge representation techniques and construction of expert systems. A project such as the implementation of an expert system in a high level AI-language is required. Prerequisite: COP 3530 or permission of the instructor. This course will have additional fees.

CGS 1920 Introduction to Computing (1). Overview of the computing field to students, research programs and career options.

CGS 2060 Introduction to Microcomputers (3). A hands-on study of microcomputer software packages for applications such as operating system, word processing, spreadsheets, and database management. For students without a technical background. Not acceptable for credit for Computer Science majors.

CGS 2100 Intro to Microcomputer Applications for Business (3). A hands-on study of spreadsheet and database management packages for business students without a technical background. Not acceptable for credit for Computer Science majors.

CGS 2423 C for Engineers (3). A first course in programming geared for engineering and natural science students that describes the syntax and semantics of ANSI C programming language. Includes developing algorithms and writing for problems in engineering and science.

CGS 2518 Computer Data Analysis (3). A hands-on study of how to use a modern spreadsheet program to analyze data, including how to perform queries, summarize data, and solve equations. For non-technical students. Not acceptable for CS students.

CGS 3092 Professional Ethics and Social Issues in Computer Science (1). Ethical, legal, social issues and the responsibility of computer professionals. Codes of conduct, risks and reliability, responsibility, liability, privacy, security, free speech issues. Prerequisite: COP 2210 or COP 2250.

CGS 3416 Web-based Programming (3). A programming course in Java with emphasis on web-based applications: Applets; Components; Servlets; Java Beans. Not acceptable for credit for Computer Science majors. Prerequisites: COP 2250 and MAD 1100.  This course will have additional fees.

CGS 3559 Using the Internet (1). Internet history and importance. What is available on the Net. Tools such as email, listserves, telnet, ftp, Archie, Veronica, Gopher, netfind, the World Wide Web, Wais, and Mosaic. Nontechnical. Prerequisite: CGS 2060 or equivalent. 

CGS 3767 Computer Operating Systems (3). Introduction to fundamental concepts of operating systems and their implementation in UNIX, Windows NT and Windows 95/98.  Not acceptable for credit for Computer Science majors. Prerequisite: COP 2250. This course will have additional fees.

CGS 4285 Applied Computer Network (3). Principles of computer network design, operation and management. Network protocols. Network configuration.  Network security. Not acceptable for credit for Computer Science majors. Prerequisite: CGS 3767. This course will have additional fees.

CGS 4365 Knowledge-Based Management Systems (3).  Introduction to knowledge-based and expert systems. Knowledge acquisition, knowledge representation, and creation of expert system.  Not acceptable for credit for Computer Science majors. Prerequisite: CGS 4366. This course will have additional fees.

CGS 4366 Information Storage and Retrieval Concepts (3). Introduction to information management and retrieval concepts. The design and implementation of a relational database using a commercial DBMS. Online information retrieval and manipulation. Not acceptable for credit for Computer Science majors. Prerequisite: COP 3804. This course will have additional fees. 

CGS 4854 Website Construction and Management (3). The fundamentals of creating and maintaining a website. Installation and maintenance of a web-server.  Techniques for building multimedia interactive web-pages.  Not acceptable for credit for Computer Science majors. Prerequisites: COP 3804 or COP 3337. This course will have additional fees.

CGS 5166 Introduction to Bioinformatics Tools (2). Introduction to bioinformatics; analytical and predictive tools; practical use of tools for sequence alignments, phylogeny, visualizations, patterns discovery, gene expression analysis, and protein structure.  Prerequisite: PCB 6025 or equivalent.

CIS 3900 Independent Study (1-5). Individual conferences, assigned readings, and reports on independent investigations.

CIS 3930 Special Topics (1-5). A course designed to give groups of students an opportunity to pursue special studies not otherwise offered.

CIS 4905 Independent Study (1-20). Individual conferences, assigned readings, and reports on independent investigations.

CIS 4911 Senior Project (3). Students work on faculty supervised projects in teams of up to 5 members to design and implement solutions to problems utilizing knowledge obtained across the sprectum of Computer Science courses. Prerequisite: Permission of the instructor.

CIS 4930 Special Topics (1-3). A course designed to give groups of students an opportunity to pursue special studies not otherwise offered.

CIS 5027 Computer Systems Fundamentals (3). Fundamentals concepts of IT Systems: operating systems, networking, distributed systems, platform technologies, web services and human-computer interaction. Covers design principles, algorithms and implementation techniques. Prerequisite: Graduate standing.

CIS 5346 Storage Systems (3). Introduction to storage systems, storage system components, storage architecture, devices, trends and applications, performance, RAID, MEMS and portable storage, file-systems, OS storage management. Prerequisite: Graduate standing.

CIS 5372 Information Assurance (3). Information assurance algorithms and techniques. Security vulnerabilities. Symmetric and public key encryption. Authentication and Kerberos. Key infrastructure and certificate. Mathematical foundations. Prerequisite: Graduate standing.

CIS 5900 Independent Study (1-10). Individual conferences, assigned readings, and reports on independent investigations.

CIS 5910 Project Research (1-6). Advanced undergraduate or master’s level research for particular projects. Repeatable. Prerequisite: Permission of Department.

CIS 5931 Special Topics (1-3). A course designed to give groups of students an opportunity to pursue special studies not otherwise offered.

CNT 4403 Computing and Network Security (3). Technical study of issues and solutions for computer and network security and privacy.  The security problem, encryption and decryption, public key encryption, authentication, operating system security, program security.  Prerequisites: CDA 4101 and COP 3337.

CNT 4513 Data Communications (3). Study Computer network models and protocol layers. Topics include: error handling, frames, broadcast networks, channel allocation; network routing algorithms, internetworking, TCP/IP, ATM protocols. Prerequisites: CDA 4101 or (COP 3804 and CGS 4285).

COP 2210 Computer Programming I (4).
A first course in computer science that uses a structured programming language to study programming and problem solving on the computer. Includes the design, construction and analysis of programs. Student participation in a closed instructional lab is required.  This course will have additional fees.

COP 2250 Programming in Java (3). A first course in programming for IT majors.  Syntax and semantics of Java. Classes and Objects. Object oriented program development. Not acceptable for credit for Computer Science majors. This course will have additional fees.

COP 3175 Programming in Visual Basic (3). An introduction to Visual Basic programming with emphasis on Business Applications. Not acceptable for credit for Computer Science majors. Prerequisites: CGS 2100 or CGS 2060. This course will have additional fees.

COP 3337 Computer Programming II (3). An intermediate level course in Object Oriented programming. Topics include primitive types, control structures, strings arrays, objects and classes, data abstraction inheritance polymorphism and an introduction to data structures. Prerequisite: COP 2210. Corequisite: MAD 2104. This course will have additional fees.

COP 3348 Introduction to Using Unix/Linux Systems (3). Techniques of Unix/Linux systems. Basic use, file system structure, process system structure, unix tools (regular expressions, grep, find), simple and complex shell scripts, Xwindows.  Not acceptable for credit for Computer Science majors. Prerequisites: COP 2210 or COP 2250 or equivalent. This course will have additional fees.

COP 3402 Fundamentals of Computer Systems (3). Overview of computer systems organization. Data representation. Machine and assembly language programming. Prerequisites: COP 2210 or equivalent. This course will have additional fees.

COP 3465 Data Structures for IT (3). Basic concepts of running time of a program, data structures including lists, stacks, queues, binary search trees, and hash tables, and internal sorting. Not acceptable for credit for CS majors. Prerequisite: Programming II (IT).  This course will have additional fees.

COP 3530 Data Structures (3). Basic concepts of data organization, running time of a program, abstract types, data structures including linked lists, nary trees, sets and graphs, internal sorting. Prerequisites: MAD 2104 and COP 3337. This course will have additional fees.

COP 3643 Microcomputer Organization (3). A study of the hardware components of modern microcomputers and their organization. Evaluation and comparison of the various microcomputer systems.  Not acceptable for credit for Computer Science Majors.  Prerequisite: COP 2250. This course will have additional fees.

COP 3804 Intermediate Java Programming (3). A second course in Java programming. Continues Programming in Java by discussing object-oriented programming in a more detail, with larger programming projects and emphasis on inheritance.  Not acceptable for credit for CS majors. Prerequisite: COP 2250. This course will have additional fees. 

COP 3832 Advanced Web Server Communication (3). Maintain a web server on the Internet. Learn HTML, PERL, Javascript. Configure the Apache web server. Write interactive server scripts. Discuss Web security & ASP. Use Java applets and ActiveX controls. Prerequisites: CGS 3559, COP 2210 or equivalents.  This course will have additional fees.

COP 3835 Designing Web Pages (3). Designing basic pages for display on the World Wide Web.  Fundamental design elements and contemporary design tools are discussed. Prerequisites: CGS 2060 or equivalent.

COP 3949 Cooperative Education in Computer Science (1-3).
One semester of full-time work, or equivalent, in an outside organization, limited to students admitted to the CO-OP program. A written report and supervisor evaluation is required of each student. Prerequisites: MAC 2312 and COP 3337.

COP 4005 Windows Programming for IT Majors (3). Application development techniques in Windows: Visual Basic Classes, Objects, Controls, Forms and Dialogs, Database, Active X and Internet Programming and Enterprise Application Architecture.  Not acceptable for credit for CS Majors.  Prerequisite: COP 3804 or COP 3337. Corequisite: CGS 4366. This course will have additional fees.

COP 4009 Windows Components Technology (3). Component-Based and Distributed Programming Techniques: C#, Common Type System, Windows and Web Forms, Multithreading, Distributed Objects. Prerequisites: COP 4226 or COP 4005.  This course will have additional fees.

COP 4225 Advanced Unix Programming (3). Unix overview: files and directories, shell programming. Unix tools: sed, grep, and others. Unix internals: file systems, process structure. Using the system call interface. Interprocess communication. Prerequisite: COP 4338. Corequisite: COP 4610. This course will have additional fees.

COP 4226 Advanced Windows Programming (3). Advanced Windows Programming topics including Object Linking and Embedding (OLE), Open Database Connectivity (ODBC), Memory Management Techniques, Dynamic Link Libraries, Multireaded Programming and Client/Server Applications. Prerequisite: COP 3337. This course will have additional fees.

COP 4338 Computer Programming III (3). Topics include Object-Oriented programming Concepts and Modern Programming Techniques.  Prerequisite: COP 3530. This course will have additional fees.

COP 4520 Introduction to Parallel Computing (3).
This course introduces the field of parallel computing. The students will be taught how to design efficient parallel programs and how to use parallel computing techniques to solve scientific problems. Prerequisites: COP 4338 and CDA 4101.

COP 4540 Database Management (3). Logical aspects of databases including Relational, Entity-Relationship, and Object-Oriented data models, database design, SQL, relational algebra, tuple calculus, domain calculus, and physical database organization. Prerequisite: COP 3530. This course will have additional fees.

COP 4555 Principles of Programming Languages (3). A comparative study of several programming languages and paradigms. Emphasis is given to design, evaluation and implementation. Programs are written in a few of the languages. Prerequisite: COP 3530. This course will have additional fees.

COP 4610 Operating Systems Principles (3).
Operating systems design principles and implementation techniques. Address spaces, system call interface, process/threads, interprocess communication, deadlock, scheduling, memory, virtual memory, I/O, file systems. Prerequisites: CDA 4101 and COP 4338. This course will have additional fees.

COP 4722 Survey of Database Systems (3). Design and management of enterprise systems; concurrency techniques; distributed, object-oriented, spatial, and multimedia databases; databases integration; datawarehousing and datamining; OLAP; XML interchange. Prerequisites: CGS 4366 or COP 4540.

COP 4723 Database Administration (3).
Client-server architecture; planning, installation, server configuration; user management; performance optimization; backup, restoration; security configuration; replication management; administrative tasks. Prerequisites: CGS 4366 or COP 4540.

COP 4813 Web Application Programming (3). Creating Web applications with user interfaces, databases, state management, user authentication, error handling, and web services. Prerequisites: CGS 4854 and COP 4005.

COP 4906 Research Experiences in Computer Science (1-3). Participation in ongoing research in the research centers of the school. Prerequisite: Permission of the instructor.

COP 4949 Cooperative Education in Computer Science (1-3). One semester of full-time work, or equivalent, in an outside organization, limited to students admitted to the CO-OP program. A written report and supervisor evaluation is required of each student. Prerequisites: MAC 2312, STA 3033 and COP 3337.

COP 5577 Principles of Data Mining (3).
Introduction to data mining concepts, knowledge representation, inferring rules, statistical modeling, decision trees, association rules, classification rules, clustering, predictive models, and instance-based learning. Prerequisites: COP 4540 and STA 3033.

COP 5614 Operating Systems (3). Operating systems design principles, algorithms and implementation techniques: process and memory management, disk and I/O systems, communications and security.

COP 5621 Compiler Construction (3). Basic techniques of compilation; scanning; grammars and LL and LR parsing, code generation; symbol table management; optimization. Prerequisites: MAD 3512 and CEN 4010. This course will have additional fees.

COP 5716 Software and Data Modeling (3).
Essential software and data modeling methods and techniques such as UML, XML, and ER. Prerequisite: Graduate standing.

COP 5725 Principles of Database Management Systems (3). Overview of Database Systems, Relational Model, Relational Algebra and Relational Calculus; SQL; Database Applications; Storage and Indexing; Query Evaluation; Transaction Management.  Selected database topics will also be discussed.

COP 5949 Cooperative Education in Computer Science (1-3). One semester of full-time work, or equivalent, in an outside organization, limited to students admitted to the CO-OP program.  A written report and supervision evaluation is required of each student. Prerequisite: Graduate Standing.

COT 3420 Logic for Computer Science (3). An introduction to the logical concepts and computational aspects of propositional and predicate logic, as well as to concepts and techniques underlying logic programming, in particular, the computer language Prolog. Prerequisites: COP 3337 and MAD 2104. This course will have additional fees.

COT 5407 Introduction to Algorithms (3). Design of efficient data structures and algorithms; analysis of algorithms and asymptotic time complexity; graph, string, and geometric algorithms; NP-completeness.

COT 5420 Theory of Computation I (3).
Abstract models of computation; including finite automata, regular expressions, context-free grammars, pushdown automata, Turing machines. Decidability and indecidability of computational problems. Prerequisite: MAD 3512.

CTS 2327 Microsoft Windows NT Administration (3). A two-part course covering introduction to Networking and the Windows NT Operating System. This course will cover material that is covered on the Microsoft Certified systems Engineer (MCSE) exam. Prerequisites: CGS 2060, or CGS 2100, or equivalent.  This course will have additional fees.

CTS 4348 Unix System Administration (3). Techniques of Unix system administration: system configuration and management; user setup, management and accounting; software installation and configuration; network setup, configuration and management. Prerequisite: COP 3348.

College of Engineering and Computing

Registrar Home | FIU Home