Computer Programming, Software Developing, Web Design and Developing

 

Academic Course Description

 

COS 140. Intro to C++ 

Introduction to programming in a high-level language. Data types, commands, and problem-solving strategies typical of procedural languages, including input/output, decisions, loops, functions, modularity, and arrays.


COS 142. C++ Programming 

Programming in a high-level language, building on COS 140. Data types, commands and problem-solving strategies typical of object-oriented languages, including classes, methods, inheritance, and linked lists.


COS 241. Computer Organization 

A combined treatment of logic design, digital system design and computer design basics. Provides an understanding of how hardware can implement software instructions. Laboratory work involving a digital logic design package and an assembler. 
Introduction to concepts of modern computers, instruction formats, addressing techniques. Covers input-output processes and interrupt handling. Programming aspects include assembler program segmentation and linkage. A specific assembler used to illustrate various topics.


COS 251. File Management and Data Structures 

Methods of structuring data, including stacks, queues, and trees, to facilitate searching, sorting, updating, and other similar operations. Analysis and comparison of various algorithms for these operations.
Introduction to abstract data types as a unifying concept in the study of data structures. Topics include vectors, templates, lists, queues, multi-linked lists, priority queues, hashes, heaps, trees, and graphs. The impact of these structures on algorithm design is explored. External memory management is discussed.

Search algorithms analyzed: binary search, bubble sort, quick-sort, merge sort, radix-sort, selection sort and others.


COS 280. Networking Using TCP/IP 

Basic knowledge about Unix/Linux systems; directories, permissions, creating users, exploring files, environment, process, setup network, ftp.
This course provides both a theoretical and practical introduction to the TCP/IP (Transmission Control Protocol/Internet Protocol) internet working protocols. Topics include domain name server, address resolution, IP datagrams, client-server models, applications, and gateways. A TCP/IP network will be designed, configured, and managed.


COS 355. Computer Graphics 

Mathematical techniques for generating computer graphics of 2D and 3D objects will be studied. Graphics software will be written. It will include implementation of algorithms for 2D and 3D transformations (including rotations, reflections, projections), clipping, windowing, and making representations of curves and surfaces. The different types of graphics hardware will be discussed.


COS 360. Programming Languages 

A discussion of the formal structure of high-level computer languages: their syntax, semantics, and translation. The relationships between language constructs and virtual machines including finite automata are considered. The course also considers how the major categories of computer languages - procedural, functional, object-oriented, logic - use these concepts in their implementation.

Application - Program that implements a recursive decent organizer for a made up programming language. Programming in LISP, FORTH, PROLOG.


COS 377. Linux Programming (REDHAT) 

Covers the basic structure of LINUX, basic commands, file system, editing, utilities, shell programming, programming environment and customization.
Bash Shell Programming.
Perl Programming (systems administration, access to databases, form processing, client-server applications)


COS 364. Design and Analysis of Algorithms 

The art of creating a good algorithm; current design techniques, including divide-and-conquer, backtracking, and branch-and-bound. Each algorithm studied is analyzed to determine the amount of computing time and storage space required. The algorithms are implemented by writing programs in a high level language.

Divide and Conquer Techniques; Dynamic Programming (Floyd, Knapsack Problem); Greedy Methods; Backtracking (N Queens Problem, Graph coloring, Hamiltonian Circuits, Knapsack, Dykstra Algorithm); Branch and Bound; Computational Complexity Analysis; Graph Analysis; Theory of NP (TSP - Traveling Sales Person, NP Complete, Vertex Cover Problem, Clique Problem, CNF Satisfiability Problem)


COS 477. Web Programming 

Advanced Dynamic Website Design using technologies such as: CSS, XML, XSL, JavaScript, Perl, PHP.


COS 455. Database Systems 

Provides the knowledge necessary to understand and use existing DBMS technology following the data model approach with emphasis on the relational model. Topics include DBMS architecture and underlying file organization, integrity, relational algebra and calculus, query optimization, and normalization. Students design and manipulate a system using an existing DBMS.

Entity-Relationship modeling techniques; Relational Schema in Oracle SQL; Creating database; Create tables, populate with data, ensuring that the integrity constraints defined by schema are being forced by Oracle; Use of inserts, updates; design queries; Use PL/SQL to implement queries as stored procedures or functions; Create indexes.



Home Page  •  Resume
Interests  •  Photo Gallery  •  Contact


Questions, offers and suggestions are welcome!
Copyright © 2006 Beatrice Jacques.

LOGOLOGIC.COM