Download Course Description
Home » Academics » School of Engineering » Departments » Computer Science & Engineering » Courses » BS in Computer Science

BS in Computer Science

CS 101 Introduction to Computing I.

Introduction to high level languages, data types, subprograms; arrays and records. Topdown programming. Algorithmic development and flow charting.

3 lecture hours; 3 semester hours

CS 101A Introduction to Computing I Lab.

This is an accompanying laboratory to the Computer Science 101 course. Students will do supervised work on assigned laboratory projects. In addition, some sessions may be used to cover new or review CS 101 lecture material as well as to administer CS 101 examinations.

Co-requisite: Computer Science 101.

2 lecture hours; 1 semester hours

CS 102 Introduction to Computing II.

Introduction to data structures. Top-down design and structured programming, debugging. String processing, stacks, queues, lists, linked lists, trees, hash tables. Searching and sorting.

Prerequisite: Computer Science 101.

3 lecture hours; 3 semester hours

CS 102A Introduction to Computing II Lab.

This is an accompanying laboratory to the Computer Science 102 course. Students will do supervised work on assigned laboratory projects. In addition, some sessions may be used to cover new or review CS 102 lecture material as well as to administer CS 102 examinations. Students must take CS 102 concurrently.

Prerequisite:Pre-requisite: Computer Science 101 and Computer Science 101a. Co-requisite: CS 102.

2 lecture hours; 1 semester hours

CS 200 Undergraduate Co-op/Internship in Computer Science.

By arrangement.

1-3 semester hours

CS 201 Data and File Structures.

Advanced treatment of data structures and file structures including manipulating data stored in the file systems. Topics include fundamentals of file processing operations, secondary storage characteristics, and managing files of records. Additional topics will include performance file organization, sorting large files, multi-level indexing, 2-3 Trees, B-Trees, and Hashing and Extendable Hashing.

Prerequisites: CS102 and CS 102a.

3 lecture hours, 3 semester hours

CS 203 Second Language Course.

A class for computer science majors to broaden the programming background. Students will take a course in a language other than the current teaching language. This class is not an actual course, but a number of departmental course offerings may satisfy this requirement. Courses which may be taken will include computer science offerings which assume programming competency (CS 101 and CS 102 equivalent) in the instructional language. The department will announce courses which qualify for satisfaction of CS 203 requirement.

Pre-requisites: CS 102 and CS 102a.

3 lecture hours, 3 semester hours

CS 227 Discrete Structures.

This course is an introduction to some of the discrete mathematical structures relevant to computer science, including set theory, propositional calculus, predicate calculus, algebraic operations and relations, counting techniques, and graph theory.

Prerequisite: Math 109.

3 lecture hours; 3 semester hours

CS 300 Economics and Management of Computing Projects.

The design process, engineering economics, project planning and ethics in engineering practice. A required course for all Computer Science majors, normally taken in the junior year, offered both semesters.

Prerequisites: Computer Science 102, 102a, Math 215, Physics 112 and junior standing.

3 lecture hours, 3 semester hours.

CS 301 Programming Languages.

This is a second computer language course organized around the concepts of data objects, data types, abstraction mechanisms, sequence and data control, storage management, syntax, and operating environments. Several widely used programming languages are analyzed to illustrate these concepts.

Pre-requi-site: Computer Science 201.

3 lecture hours; 3 semester hours

CS 306 Compiler Design.

Introduction to compiler design. Major parts of a compiler, lexical, syntactic, and semantic analysis. Introductory language theory. Code optimization techniques. Examples of modern compilers.

Prerequisite: Computer Science 201, 227.

3 lecture hours; 3 semester hours

CS 309 Introduction to Artificial Intelligence (AI).

Introduction to LISP and Prolog, languages used in AI research. Fundamental AI concepts. Topics covered include; Lisp; symbolic manipulation, data abstraction, object-oriented view, searching, modular programming, and debugging; Prolog: Logic and Problem Solving, non-determinism, data structures, incomplete and uncertain knowledge, querying.

Prerequisite: Computer Science 201 and at least junior standing.

3 periods; 3 semester hours

CS 311 Computer Architecture.

Introduction, Processing Unit Design, Memory System Design, Input-Output Design and Organization, Pipelining, reduced Instruction Set Computers (RISCs), Introduc-tion to Multiprocessors, Shared Memory Architectures, Parallel Algorithms and Programming, Other Computational Paradigms.

Pre-requisites: Computer Engineering 210, Computer Engineering 286.

3 lecture hours, 3 semester hours.

CS 320 Theory of Computation.

Elements of the theory of formal languages, grammars, finite state machines, computability, primitive recursive functions, Turing machines and computation.

Prerequisite: Computer Science 227.

3 lecture hours; 3 semester hours

CS 325 Structure and Interpretation of Computer Programs.

Procedures and data both primitive and compound. Iteration and recursion. Abstraction of data and procedures. Sequences and trees. Manipulation of lists. Data-directed programming, dispatch on type, message passing. Object-oriented programming. Local state and environment diagrams. Streams.

Prerequisite: Computer Science 201.

3 lecture hours; 3 semester hours

CS 329 Fundamentals of Algorithms.

This course aims to develop an understanding of the process by which an algorithm is developed to solve a problem and how it is translated into a working computer program. Emphasis is placed on problem-solving approaches and efficient programming techniques. Topics covered are: data structures, stacks, lists, trees, search algorithms, introduction to parsing and sorting techniques; structures programming; interactive and recursive programming, analysis of algorithms and special purpose algorithms.

Prerequisite: Computer Science 201, 227.

3 lecture hours; 3 semester hours

CS 340 Queuing Theory.

Important probability distributions, Markov chains, Poisson process, birth-and-death process, queuing theory, queuing models of computer systems.

Prerequisite: Computer Science 320, Mathematics 323.

3 lecture hours; 3 semester hours

CS 341 Operations Research.

Linear programming formulation of optimization problems, hyper planes, convex sets, linear independence, bases of vector spaces, matrix inversion, theory and computation techniques of simplex, revised simplex methods, degeneracy, duality.Transportation and assignment problems, integer programming and network flows.

Prerequisite: Math 214, Computer Science 227.

3 lecture hours; 3 semester hours

CS 399 Independent Study in Computer Science.

Independent study of advanced topics in Computer Science and submission of project report as required. Problem assignment to be arranged with and approved by the Department Chair. Open only to qualified seniors

3 semester hours

CS 400 Object-Oriented Programming Using C++.

This course introduces the modern object-oriented programming philosophy using C++ to the beginning graduate students. The emphasis is on developing the programming thought process in terms of objects and their interactions to each other. Concepts covered include data hiding, code reuse through inheritance, polymorphism, templates, exception handling, developing appropriate class hierarchy and code maintenance for large software projects.

Prerequisites: Computer Science 102 or equivalent background.

3 lecture hours; 3 semester hours

CS 410 Java Programming.

Object oriented programming, using Java, packages, interfaces, multi-threading, classes, inheritance, exceptions, interfaces, native methods, applets.

Prerequisite: Computer Science 400 or permission of instructor.

3 lecture hours; 3 semester hours

CS 411 Advanced Object-Oriented Programming with Java.

Covered topics include advanced features of Java, such as Database inter-connectivity ( JDBC) with Servlets and JSP, remote method interface (RMI), distributed applications objects using CORBA and JNDI, Java Beans, introspection and reflection, Enterprise Java applications with EJB, interfacing Java to C++ with JNI, and additional advanced topics. A focus on developing components and packages. A major project is developed.

Prerequisite: CS 410

3 lecture hours, 3 semester hours

CS 435 Unix System Programming.

Introduction to shell programming and system programming languages in the Unix environment. Files, directories, filters, processors, queues, semaphores. A major project focuses information towards a particular application.

Prerequisite: Computer Science 400.

3 lecture hours; 3 semester hours

CS 440 Windows Programming.

This course covers Graphical User Interface (GUI), design and Windows programming using Visual C++ and Microsoft Foundation Class (MFC) library. Topics covered include windows architecture, message/event driven programming, designing Dialog based, SDI and MDI applications, Document/View architecture, Device Contexts, Database access using the MFC ODBC classes and ADO. A comprehensive project is assigned towards the end of the course, which covers important windows programming concepts.

Prerequisite: CS 400

3 lecture hours, 3 semester hours

CS 449 A Senior Design Project.

Student will initiate and complete a project that meets career interests and objectives. One or more faculty will be available to each student in a consulting capacity. The department chair must approve an outline of the project in the semester prior to registration for this course.

1 semester hour

CS 449 B Senior Design Project.

Student will initiate and complete a project that meets career interests and objectives. One or more faculty will be available to each student in a consulting capacity. The department chair must approve an outline of the project in the semester prior to registration for this course.

3 semester hours

CS 450 Data Base Design.

Survey of data structures used in data bases; relations; hierarchical and network data models; theoretical issues in data base processing; practical issues in data base design, programming, and implementation.

Prerequisite: Computer Science 400.

3 lecture hours; 3 semester hours

CS 460 Introduction to Robotics.

Basic robotics including: position and velocity sensing, actuators, control theory, robot coordinate systems, robot kinematics, differential motions, path control, dynamics, and force control. Robot sensing, simulation of manipulators, automation, and robot programming languages are also investigated.

Prerequisites: Computer Science 102, Math 214 or Math 314, or permission of instructor.

3 semester hours

CS 485 Software Design Patterns.

Introduce design patterns and software architectures. Combines pattern theory with examples to show why and when to use patterns and how to implement them. How to apply design patterns at the enterprise level. The use of design patterns to design and implement systems of high stability and quality. Compare and contrast patterns, including differences between Mediator and Façade. Discuss relationships between patterns. Study how patterns are collaborated within domains to solve complicated problems.

3 semester hour

Admissions: 1.800.EXCEL.UB (1.800.392.3582) · 203.576.4552
© 2005-2009 University of Bridgeport, 126 Park Avenue, Bridgeport, CT 06604 USA