A first course in object-oriented programming for the Computer Science student. Emphasis will be on program specification, analysis, problem solving and implementation using an object-oriented language such as JAVA. Topics include definitions of classes and objects, algorithm development and methods, primitive and reference data types, arrays, and strings. More advanced topics such as exceptions and use of inheritance will be explored as well. Successful completion of this course with a C or better is required for further progress in Computer degree programs. Several major programming projects will be assigned to be completed outside of class and lab.
Prerequisite: MTH 172 or MTH 175, or CIS 100 and MTH 165, or MTH 165 and CPT 114, all with a grade of C or better
An introduction to basic data structures, and a continuation of CSC 101 for Computer Science majors. Topics include sequential lists, linked lists, stacks, queues, recursion, binary trees, searching and sorting. Other topics include algorithm analysis and design, inheritance, polymorphism. An object oriented language such as Java will be used to implement algorithm and further develop general programming skills. Students will be required to complete several programming projects outside of class.
Prerequisite: CSC 101 with a grade of C or better.
The student will learn how to program, interface and troubleshoot a modern embedded processor such as the Motorola 68HC12 in both C and Assembly Language. Microcontroller architecture will be stressed. Topics include Synchronous and Asynchronous Input/Output, Analog to Digital Conversion, Pulse Width Modulation, Timer/Counters, Interrupts and Parallel Port Programming. Laboratory work will focus on program development, implementation and debugging techniques. Several programming projects will be assigned to be completed outside of class and in lab. A final project and student presentation are required.
Prerequisite:MTH 165 with a C or better and CIS 200 or CPT 101 or CSC 101 or ENR 161 or ENR 157 with a C or better.
This course provides an introduction to the design of the digital computer. Topics include number systems, digital gates, Boolean Algebra, design and implementation of combinational and sequential circuits, decoders, encoders, multiplexors, flip-flops, counters, registers and memory devices. Laboratory experiments include building combinational and sequential circuits.
Prerequisite(s): CIS 200 or CPT 101 or CSC 101 with a grade of C or better.
This course introduces the student to the basic elements of digital image acquisition and processing by examining how CCD's (charge coupled devices) function and how they are used in a camera to capture an image. Practical hands-on laboratory projects reinforce concepts while the student learns how a truly scientific grade, low noise CCD camera is built from ground-up using discrete components. The students problem solving skills are put to the test as they work in small specialized groups to attack challenging problems. Practical programming skills are developed as the student learns how to apply a high level programming language such as Java, C, Python and/or LabVIEW to facilitate in design, experimentation, data acquisition, image processing and analysis. Topics covered include: types of image sensors, performance characteristics, noise, digitization, scaling, color and gray scale rendition. This course is typically offered in the Spring, biannually.
Prerequisite(s): MTH 165 or higher and one of: CIS 200 or CSC 101 or CPT 101 or CSC 223, both with a grade of C or better.
A course designed to introduce the student to the Linux operating system. Topics will include system installation and configuration, basic system administration, system updates, network services configuration, printer configuration, system services, and scripting.
Prerequisite(s): CIS 200 or CSC 101 or CPT 101 with a grade of C or better or permission of instructor.
This course presents the principles of computer programming using the C++ language. Topics covered include the use of variable types, expressions, control structures, pre-processor commands, functions, arrays, strings, pointers, structures, classes, objects, and files. Several major programming projects will be assigned to be completed outside of class and laboratory time. Students can earn credit for only one of the following courses: CIS 223, ITP 202, CSC 223.
Prerequisites(s): CPT 101 or CSC 101 or CIS 200 with a grade of C or better.
A second course in Java programming focusing on advanced language features. Topics will include Object Oriented Analysis and Design (OOAD), methodologies, automatic documentation generation using JAVADOC, Graphical User Interface (GUI) development, threads, database programming using Java Database Connectivity (JDBC), network programming using sockets and Remote Method Invocation (RMI), N-tier programming using Common Request Broker Architecture (CORBA), object serialization and remote objects, and collections. Students can earn credit for only one of the following: CIS 225, ITP 201, CSC 225.
Prerequisite: CSC 101 or CSC 223 with a grade of C or better