Lab for Programming in Basic (1-2) FALL
Prerequisite: Concurrent enrollment in CSCD 132.
This course provides a hands-on experience with programming concepts used in CSCD 132 Programming in BASIC. Programming concepts covered will consist of a review of those presented in CSCD 132 including syntax, program structure, and program design. Students will compile, save, print, debug, and run programs using those concepts.
CSCD 132
Programming in Basic (3) FALL
Prerequisite: Computer Literacy.
The standard BASIC language with emphasis on modular program development through user-defined subprograms and functions.
CSCD 196
Experimental Course (1-5) CSCD 199
Directed Study (1-5) CSCD 205
Programming Principles I Lab (1) FALL/WINTER/SPRING
Prerequisite: Concurrent enrollment in CSCD 225 is required.
This course provides a hands-on introduction to the programming environment and programming concepts used in CSCD 225, Programming Principles I. Programming environment topics include compiling, saving, printing and running programs, and using the debugger. Programming concepts covered will consist of a review of those presented in CSCD 225, including syntax, program structure, and program design.
CSCD 206
Programming Principles Lab II (1-2) FALL/WINTER/SPRING
Prerequisite: Concurrent enrollment in CSCD 226.
This course provides a hands-on experience with programming concepts used in CSCD 226, Programming Principles II. Programming concepts covered will consist of a review of those presented in CSCD 226 including syntax, program structures, and program design. Students will compile, save, print, debug, and run programs using those concepts.
CSCD 208 Unix Lab (1)
Prerequisite: Concurrent enrollment in CSCD 228.
This course provides a hands-on experience with the operating system covered in CSCD 228 UNIX. Concepts covered will consist of a review of those presented in CSCD 228 and students will develop greater proficiency in use of the operating system through hands-on experience.
CSCD 209
C Programming Lab (1-2) FALL/WINTER/SPRING
Prerequisite: Concurrent enrollment in CSCD 229.
This course provides a hands-on experience with programming concepts used in CSCD 229. Programming concepts covered will consist of a review of those presented in CSCD 229 including syntax, program structure, and program design.
Students will compile, save, print, debug, and run programs using those concepts.
CSCD 225
Programming Principles I (5) FALL/WINTER/SPRING
Prerequisites: CPLA 100 or 120, and MATH 104 and concurrent registration in MATH 105 or Math Proficiency. Concurrent enrollment in CSCD 205 required.
Introduction to the concepts and practices of information representation, computer algorithms, hardware organization and computer program design and implementation. Course allows student to write, run, debug, analyze and evaluate computer programs written in a current programming language, such as Java. Topics include: data types, control structures, functions, calls, parameter passing, 1D arrays - sorting and searching algorithms, and recursion.
CSCD 226
Programming Principles II (5) FALL/WINTER/SPRING
Prerequisites: CSCD 225, MATH 105 or Math Proficiency.
An introduction to simple data structures, such as arrays, structures, and simple classes, using a current programming language. Fundamental sorting and searching algorithms are examined and evaluated. Topics include: 2D arrays, object cloning, data abstraction, polymorphism, inheritance, interfaces, inner classes, abstract classes, files, string classes, basic GUI design, exception handling, and threads.
CSCD 228
Introduction to Unix (2) FALL/WINTER/SPRING
Prerequisite: CPLA 100 or 120 and pre- or concurrent registration in CSCD 225.
An introduction to the use of the UNIX operating system. The use of interactive shells, common text editors, utility programs, electronic mail, and graphical user interfaces are covered as well as file system structure and accessing the Internet.
CSCD 229
C Programming Language (3) FALL/WINTER/SPRING
Prerequisites: CSCD 226, concurrent CSCD 228, Math Proficiency.
A comprehensive study of syntax and programming techniques of the C language. Students will study and write programs involving all aspects of the language from simple statements through structures, pointers and linked lists and will learn the use of operating system calls. Topics include: procedural
programming, C pointers, arrays, pointer arithmetic, functions and parameter passing, data types and structures - make and makefiles.
CSCD 230
Scientific Programming in Fortran (5) Prerequisite: MATH 106 or equivalent.
A thorough study of the FORTRAN language and computer programming, in which programs are written based on problems from scientific and engineering disciplines.
CSCD 234
Visual Basic Programming (3) Prerequisite: CSCD 132 or 225 or 255.
An exploration of the syntax and programming techniques of the Visual Basic environment. Students will study and write programs involving fundamental aspects of Visual Basic from properties of forms and controls to database access and operating system calls.
CSCD 255
C Programming for Engineers (5) Prerequisite: MATH 105 or Math Proficiency.
Learning to use the “C” language in the context of beginning computer science concepts and engineering practices. This course will provide students with a
familiarity with the C programming language, skills and understanding of programming concepts, experience programming in a structured, modular manner consistent with accepted programming practices, and basic programming principles in the context of engineering problems.
CSCD 260
Micro-Assembly Language (3) FALL/WINTER/SPRING
Prerequisites: ENGR 160, CSCD 225 or 255, MATH 105 or Math Proficiency.
Fundamental microcomputer hardware and the instruction set for a single tasking, single user microprocessor. Homework assignments will include assembly language programming emphasizing I/O device access and features that support high level languages. CSCD 298 Seminar (1-5) FALL/WINTER/SPRING/SUMMER CSCD 299 Special Studies (1-5) FALL/WINTER/SPRING/SUMMER
Prerequisites: Prior permission of the instructor and the department chair.
Subjects studied vary according to student and faculty interest.
CSCD 305 Oop Lab (1-2)
Prerequisite: Concurrent enrollment in CSCD 325.
This course provides a hands-on experience with programming concepts used in CSCD 325, Object Oriented Programming. Programming concepts covered will consist of a review of those presented in CSCD 325 including syntax, program structure, and program design. Students will compile, save, print, debug, and run programs using those concepts.
CSCD 308
Windowing Lab (1-2)
Prerequisite: Concurrent enrollment in CSCD 328.
This course provides a hands-on experience with programming concepts used in CSCD 328, Windows Programming. Programming concepts covered will consist of a review of those presented in CSCD 328 including syntax, program structure, and program design. Students will compile, save, print, debug, and run programs using those concepts.
CSCD 316
Contest Problems (1-5)
Prerequisite: CSCD 226 or concurrent enrollment.
Students participate in solving problems with computer programming. This is preparation for periodic local and regional programming contests.
CSCD 325
Object-Oriented Programming (3)
Prerequisites: Math Proficiency, and either CSCD 229 or both CSCD 226 and 255.
More advanced programming concepts such as recursion and object-oriented concepts such as classes, inheritance, and polymorphism. Projects will be written in an object-oriented language. Focuses on differences between Java and C++.
CSCD 326
Data Structures I (4) FALL/WINTER/SPRING
Prerequisites: CSCD 226 and Math Proficiency.
Basic abstract concepts of data structures. Topics include: Linear data structures including stacks, queues, and linked lists. Linked, multi-linked and contiguous representation. Analysis of hashing and recursion. Mathematical analysis of complexity of searching and sorting algorithms, binary search trees and heaps. Requires programming projects with formal documentation.
CSCD 327
Data Structures II (4) FALL/WINTER/SPRING
Prerequisites: CPLA 101 or 120, CSCD 326, ENGL 201 and either MATH 225 or 301.
Formal properties of non-linear data structures, including binary trees and general trees. General directed graphs and networks. Symbol tables and search trees. File organization, n-ary retrieval trees and B-trees. Requires programming assignments with formal documentation.
CSCD 328
Windows Programming (3)
Prerequisites: CSCD 326 and Math Proficiency.
Introduction to general techniques of programming in a graphical, windowed environment. System events, menus, dialog boxes, GUI controls, callback functions, clipboards and device-independent graphical programming techniques are among the selected topics. Additional topics may include object linking and embedding, and multi-threading. Requires programming projects.
CSCD 333
Network Programming (4) FALL/SPRING
Prerequisite: (CPLA 101 or 120), and CSCD 226, and CSCD 228, and CSCD 229, and (CSCD 260 or ENGR 260).
Fundamental concepts, protocol mechanisms and programming skills for modern computer networks are highlighted. The course includes a technical overview of telecommunication media and fundamental protocols for the Internet such as ISO/ OSI layers; Ethernet; wireless technologies; error detection and recovery; collision detection and channel allocation. In addition there will be a comprehensive and in-depth study of internetworking architectures and protocols such as addressing, fragmentation and reassembly, error reporting, and routing, as well as programming skills for network- centric system development such as client-server computing and API.
CSCD 334
Advanced Techniques in Visual Basic (4) SPRING
Prerequisites: CSCD 234 (or familiarly with visual and either CSCD 326 or 229).
Advanced programming techniques in Visual Basic such as classes, ActiveX concepts, database access, interactive web pages, and API. Individual and/or group programming projects with formal documentation are required.
CSCD 350
Software Design (4) FALL/WINTER/SPRING Prerequisite: CSCD 326.
An in-depth exploration of software design principles, paradigms, and techniques. Topics will include classical, and object-oriented, systems design, human- computer interaction, and user interface design. Students will work individually and collaboratively to develop, document, present, and evaluate alternative design solutions. Formal documentation and written reports are required.
CSCD 378
Web Programming (4) WINTER
Prerequisites: CSCD 226 and TECH 368.
Study web programming based on the current research. API’s such as Document Object Model will be presented. Learn how to write code for the web that is portable across platforms and browsers.
CSCD 379
Advanced Web Programming (4) SPRING
Prerequisites: CSCD 226, TECH 368, CSCD 378.
Advanced study of web programming based on a popular API with emphasis placed on the server and portability across platforms and browsers. Database connectivity will be an important component of the course. CSCD 395 Internship (1-10) CSCD 396 Experimental Course (1-5) CSCD 397
Workshops, Short Courses, Conferences (1-5) CSCD 398
Seminar (2-5) CSCD 399
Directed Study (1-5) FALL/WINTER/SPRING/SUMMER
Prerequisites: Prior permission of the instructor and the department chair.
CSCD 411
Multimedia Techniques (4) FALL
Prerequisites: CPLA 101 or 120. Math Proficiency, and one of the following: CSCD 225, 132, 255, MISC 312.
Study of computer generated media; text, still graphics, animation and sound. The strengths of each media will be explored and a computer presentation using each medium will be created with appropriate software. A final presentation will be multimedia. The student will develop an electronic portfolio using the different media.
CSCD 414
Object Oriented Programming for Multimedia (4)
WINTER
Prerequisites: CSCD 326, 411, Math Proficiency.
Lingo is the object oriented programming language of Macromedia Director. This course will introduce the programming of Lingo objects to create and control sprites and other cast members in a multimedia presentation.
CSCD 416 3D Animation (4)
Prerequisites: CSCD 226, 411. (ACS special code)
Learning and implementing the fundamental concerts of 3D animation using 3D Studio Max. Students will learn the basics about modeling, texturing and animation using one of the most popular software packages in the industry. Evaluation and identification of strengths and weaknesses of examples of 3D animations will be included. The creation of a 3D animation project will be required.
CSCD 417
Advanced 3D Animation (4) Prerequisite: CSCD 416. (ACS special code)
An advanced course in 3D Animation theory and application. This course will include advanced work in photorealism, nurbs, basic character development, lighting, and camera techniques. A project will be required in this course.
CSCD 419
Multimedia Design and Implementation (4) SPRING
Prerequisite: CSCD 411 or permission of the instructor.
Study of system design and the software development cycle of computer generated multimedia applications. The user interface will be studied. The design and implementation of a “real world” multimedia project will be part of the class.
CSCD 420
Finite State Automata (4) FALL
Prerequisites: CSCD 260 or ENGR 260, CSCD 327, and MATH 225 or 301.
A study of sequential machines—their algebraic, structural, and logical properties.
CSCD 421
Automata and Languages (4) WINTER
Prerequisites: CSCD 228, 420.
Correspondence between automata, languages, and logic circuits. Also covered are the relationships between Turing machines, computability and transducers as algebraic systems. Theory is applied to the first phase of compiler design. Programming assignments are required. Lab.
CSCD 422
Compiler Design (4) Prerequisite: CSCD 421.
Analysis of syntactic structures as applied to context- free and type 3 grammars. Theoretical development of parsing schema as well as practical applications in implementing such strategies. Programming assignments, oral presentations and written reports are required. Lab.
CSCD 425
Database Management Systems (4) FALL
Prerequisite: CSCD 326.
An in-depth introduction to fundamental concepts associated with the design, implementation, and use of database systems with particular emphasis on relational database management systems. Topics will include database modeling and design techniques, languages and facilities provided by database management systems, and representative
implementations. Students will use a state-of-the-art DBMS to design, load, query, maintain and administer a relational database. Individual client/server programming projects, including oral presentations and written reports, are required.
CSCD 427
Database Programming (4) WINTER
Prerequisite: CSCD 425.
An in-depth introduction to fundamental concepts associated with the design, implementation, and maintenance of n-tier applications with particular emphasis on web-based database applications. Topics will include scripting languages, application servers, and web services. Students will use a state-of-the-art development tool to design, implement, and deploy a 3-tier application against a relational database. Individual and/or team programming projects, including oral presentations and written reports, are required.
CSCD 433
Advanced Network Programming (4) WINTER
Prerequisites: CSCD 326,333.
Advanced technologies and programming skills of computer networks are explored. The class will engage in a comprehensive study of future and advanced networking technologies such as multiplexing, ATM, NAT and IPv6; dominant network applications such as DNS, E-mail, file transfers and WWW; and advanced programming skills and architectures such as RPC, CORBA and middleware. Typically, a comprehensive project is assigned.