EGPP-101 |
Introduction to Engineering |
2 Credits |
Provides information on engineering education, the engineering profession, engineering basic concepts and engineering tools. Introduces the engineering design process and provides the opportunity for students to complete engineering design projects.
|
SYCS-140 |
Programming Team |
1Credits |
This course is for participants of the programming team.
|
SYCS-135 |
Computer Science I |
4 Credits |
This course provides an introduction to the discipline of computer programming, and is designed to expose students to basic programming concepts and to the use of the C++ language. This course is designed to enhance the student’s ability to design, develop and test/debug programs. Each student will increase his or her skill in writing correct and maintainable programs. Emphasis will be placed on problem analysis and on the subsequent development of algorithms. Several standard data types will be discussed and the student will gain an understanding of the issues relating to the use, design and implementation of each type in C++. A major focus of the lectures will be to provide an overview of real-world problem solving concepts and top-down software design. . No Prereq.
|
SYCS-136 |
Computer Science II |
3 Credits |
Course exposes students to the software development life cycle with a focus on the concepts and use of the object-oriented paradigm in problem analysis, solution design, software development and implementation. This course is designed to enhance the student’s ability to engineer software that is efficient, maintainable and cost efficient over its entire life cycle. Data abstraction is discussed in depth and students gain experience in the use of classes, object and member functions. Students gain an understanding of the development of reusable abstract data types. Software reuse is emphasized and object-oriented concepts are used throughout the course. O-notation and the complexity of algorithms are discussed at relevant points in the course. Prereq.: Computer Science I (with a grade of ‘C’ or better).
SYCS-165 |
Elementary Computation |
3 Credits |
Introduces programming and use of digital computers. Programming includes general problem-solving and the systematic development of algorithms; use includes the coding of programs and practical experience in operating computers and peripheral equipment. (Open to non-majors only)
|
|
SYCS-354 |
Computer Science III |
3 Credits |
The course continues the study of data structures and algorithms, focusing on algorithmic design and problem analysis and the relationships between data representation, algorithm design, and program efficiency. Topics include advanced data structures, key algorithm design techniques, analysis of the time and space requirements of algorithms, and the subsequent development of solution of systems. Concrete examples will be drawn from a variety of domains, such as algorithms for trees and graphs, indexing and search, and real-world problems. Prereq.: Computer Science II (with a grade of ‘C’ or better).
|
SYCS-201 |
Computer Organization |
3 Credits |
This course will present the relationship between computer hardware and software, and focus on the concepts that are the basis for current computers. Topics include data formats, instruction sets, addressing modes, computer arithmetic, performance metrics, logic design, non-pipelined and pipelined datapath design, memory hierarchies, and I/O devices. Prereq.: Computer Science II. Calculus I.
|
SYCS 211 |
UNIX Lab |
1 Credit |
This course will present the basic concepts of LINUX and UNIX operating systems. Topics that will be examined include Vi editor, Linux Command, directories, Disks and File systems, Users and Groups, File Permissions, Processes, file compression, basic network use, manage files, create and modify files, and Shell script. Prereq.: Computer Science I.
|
SYCS-203 |
Object-Oriented Programming using Java |
1 Credit |
This course provides an introduction to Java programming and object-oriented programming concepts for students with previous programming experience in C/C++. The course provides a comprehensive overview of basic programming concepts in the Java programming language using an object-oriented approach. Prereq.: Computer Science II.
|
SYCS-350 |
Structure of Programming Languages |
3 Credits |
The course will teach students the basic components of the design and analysis of computer programming languages as well as the fundamental computation theory that is required to understand those concepts. The course will also cover several non-imperative languages (unlike C, such as LISP and Prolog) to expose students to the diversity of programming languages. Prereq.: Computer Organization, Theory of Computation (After fall 2008). |
SYCS-341 |
Theory of Computation |
3 Credits |
Introduction to the classical theory of computer science. A study of the formal relationships between machines, languages and grammars; we will cover regular, context-free, context-sensitive, recursive and recursive enumerable languages. Sequential machines and their applications to devices, processes, and programming. Models of computation: finite state automata, push down automata, Turing machines. The role of non-determinism.Prereq.: Computer Science III and Discrete Structures, Calculus II.
|
SYCS-363 |
Large Scale Programming |
3 Credits |
This course will introduce the students to applications and systems in the large scale. Students will be introduced to the object-oriented method to software design using UML and will apply the object-oriented design/analysis techniques of UML to a realistic Java application. Students will gain familiarity with managing larger projects and OOA/D. Prereq: Computer Science III
|
SYCS-375 |
Software Engineering (formerly Systems I) |
3 Credits |
This course will introduce students to the basic concepts of software engineering and the software development life cycle. The course will cover methodological techniques for software specification, design, implementation, testing, verification, and documentation. The course will also present the use of state-of-the-art tools for computer-aided software engineering (CASE). Prereq: Computer Science III (SYCS-354)
|
SYCS-376 |
Operations Research (formerly Systems II) |
3 Credits |
Methodology for planning, analyzing and evaluating optimal systems: identifying and structuring objectives and defining performance requirements that influence the design of the system. Synthesizing and analyzing alternative solutions and applying optimization techniques for the optimum queuing system. Applications to real world systems with open and closed queues with emphasis on computer systems using microcomputer software packages. Prereq.: SYCS-375 Systems Engineering I (new name Software Engineering)
| SYCS-379 |
Introduction to Human Computer Interaction |
3 Credits |
Students will learn the fundamental concepts of human-computer interaction and user-centered design thinking, through working in teams on an interaction design project, supported by lectures, readings, and discussions. They will learn to evaluate and design usable and appropriate software based on psychological, social, and technical analysis. They will become familiar with the variety of design and evaluation methods used in interaction design, and will get experience with these methods in their project. Prereq: Computer Science III
|
SYCS-390 |
|
3 Credits |
This course will present the foundations of ethics in the context of computing. The broader social impact of computing and technology in general will also be reviewed. Areas of specific focus will include technology and human values, costs and benefits of technology, the character of technological change, and the social context of work in computer science and information technology.
|
SYCS-401 |
Operating Systems |
3 Credits |
This course will present the basic concepts of operating systems. Topics that will be examined include processes and interprocess communication/synchronization, virtual memory, program loading and linking system calls and system programs; interrupt handling, device and memory management, process scheduling, deadlock and the trade-offs in the design of large-scale multitasking operating systems. Prereq.: Software Engineering, and Computer Organization.
|
SYCS-410 |
Modeling and Simulation |
3 Credits |
Introduces the fundamentals of system design and modeling. Emphasizes advantages and limitations of various modeling techniques for different applications. Introduces probability distributions typical of queuing models and presents in-depth discussions and experiments with existing simulation packages. Prereq: Systems Engineering I (Software Engineering new course name), Probability and Statistics
|
SYCS-450 |
Data Communications and Network Programming |
3 Credits |
This is an introductory course on computer networking. It will cover the layering model of the Internet. The upper four layers (application, transport, network and data link) will be discussed in details with dominant networking protocols and algorithms introduced. Students will also learn how to do basic programming on the Internet. Prereq: Computer Science III, Computer Organization, Analysis of Algorithms (new name Fundamentals of Algorithms), Discrete Structures
|
SYCS-432 |
Database Systems |
3 Credits |
This course will present the basic concepts of database systems. Topics that will be covered include basic relational database theory, relational database modeling, relational database design and implementation, normalization, transaction management, the SQL language and other languages and facilities provided by database management systems. Prereq:Computer Science III.
|
SYCS-472 |
Systems Management Analysis |
3 Credits |
This course presents methodology for large-scale system design and analysis using modern semantic analysis techniques. Identification and definition of large-scale (community/industrial-based) problems. Discusses how to select and quantify measures of the severity of the problem. Presents different techniques for modeling alternative solutions to problems. Prereq: Systems Engineering I (Software Engineering new course name).
|
SYCS-478 |
Engineering Economic System Design |
3 Credits |
Presents methodology for system design. Methodology begins with identification and definition of private sector problems to which solutions are justified by economics. Discusses selection of appropriate economic measures for comparing alternative solutions such as present worth, equivalent annual cost, cost/benefit ratio, life cycle cost, return on investment pay back period. Presents different techniques for modeling alternative solutions to the problems and predicting cost. Other topics discussed include decision-making, system implementation, operations and retirement. Prereq.: Systems Engineering II (new name Operations Research).
|
SYCS-491 |
Senior Project I |
3 Credits |
Allows the senior student the opportunity to demonstrate his or her knowledge of systems engineering and computer science principles by application to a class project of his or her choosing, with the guidance and supervision of a faculty member. The student develops a proposal for the project, followed by an architectural design and detailed design, all of which must be presented in class. Prereq: Systems Engineering I (Software Engineering new course name), Computer Organization. |
SYCS-492 |
Senior Project II |
2 Credits |
In part two, the senior student develops and implements the system solution to the proposed project. The system, most commonly comprising computer software, hardware, procedures, etc., is implemented and tested in the department's Systems Development Laboratory. The student is required to demonstrate the system solution to the faculty and the student body of the department. Prereq: Senior Project I. |
| SYCS-451 |
Applied Wireless Networking |
3 Credits |
From both the conceptual and practical standpoints, this course will present the basics of wireless networking. Topics that will be examined include the connection between wireless networks and the Internet, radio signal transmission fundamentals, wireless LAN/WAN industrial stands, and wireless network administration such as network design, installation, configuration, maintenance and trouble shooting. Prereq: Data Communications
| SYCS-421 |
Computer and Video Game Development |
3 Credits |
The course will span the software domains embedded in computer and video games. Topics such as game computational infrastructure, design, engines, and motion will be presented through discussion and assignments. Game industry guest speakers will discuss software challenges and opportunities. Students completing this course will understand the software development process required to create a successful game and possess the programming expertise to create a simple game. Prereq: Computer Science III, Systems Engineering I (new name Software Engineering)
| SYCS-422 |
Game Engine Programming |
3 Credits |
Game engine programming is introduced as a critical element in compelling game creation. Programming activity will feature input capture, world integration, object motion, collision detection and audio scoring. Game performance metrics, code optimization and quality assurance testing procedures will be emphasized. Code examples will be presented from XNA game studio and Torque. Course game project may be completed using a 2D or 3D game engine of choice including Torque, Gamestudio, Panda3D, or OGRE 3D rendering engine. Prereq: Computer and Video Game Development.
| SYCS-402 |
Mobile Application Development |
3 Credits |
This course will introduce students to developing applications which target mobile devices. Students will be introduced to many issues unique to mobile applications, including synchronization, remote data access, security and sometimes-connected networks. They will research topics in these areas and develop a significant project which demonstrates their knowledge and understanding of these issues. Prereq: Computer Science III.
SYCS-480 |
Digital Media and Multimedia Applications |
3 Credits |
This course provides an introduction to digital media fundamentals including audio, video formats, storage and delivery. Windows Media and other technology will be extensively utilized as a method for digital content manipulation, rights management and internet transfer. Students will be exposed to basic internet architecture, operations and useful world wide web (WWW) resources. In addition, a practical understanding of digital computational devices, communication ports and connection cables will be acquired. Prereq: Junior Standing. |
SYCS-364 |
Web Services |
3 Credits |
Presents topics in distributed computing with particular emphasis on Web Services using Microsoft .NET Framework. Also discussion on layered protocols, the client-server model, remote procedure call. Students program extensively in C# and Visual Basic .NET. Corequisites: 306-401 (Undergraduate Operating Systems) basic knowledge of operating system services, 306-450 Data Communications.
|
SYCS-460 Advanced Systems Administration 3 Credits |
Advanced system administration course provides a strong practical experience to Linux and Solaris operating systems. The course includes topics such as Samba (Windows file and print sharing), Email, Web serving with Apache, remote access, networking setup, Internet proxy services, fire wall and security administration, deploy LDAP in a Linux, Solaris and windows environment and also compile, configure and patch a Kernel module. Prereq: Data Communications, Unix Lab
|
SYCS-470 Fundamentals of Algorithms 3 Credits |
Techniques for designing efficient algorithms, analyzing their complexity and applying these algorithms to a broad range of application settings. Methods for recognizing and dealing with hard problems are studied. Prereq: SYCS 354: Computer Science III, MATH 189: Probability and Statistics
|
SYCS-391 Patents and Technology Entrepreneurship 3 Credits |
This three credit hours course provides students with the knowledge needed to expand their perspectives from workers/employees to entrepreneurs, executives, business owners and employers. Approximately one-half of the classes are devoted to in-depth discussions and hands-on exercises in creating and protecting intellectual property; while the other half exposes the students to an array of entrepreneurial issues from business plans, taxes, risk, profitability, organizational development, financing, product development life cycle, time-to-market, government programs, and others.
|
SYCS-440 Object-Oriented Programming 3 Credits |
Introduces the fundamentals of object-oriented information system development with a focus on analysis and design phases. Data modeling and design principles such as data abstraction, information hiding, modularity, and coupling are viewed in the context of object-oriented paradigm. For object-oriented modeling Unified Modeling Language (UML) is introduced and used extensively throughout the course. Issues relating to making the transition from other software development methodologies are examined and risks involved in object-oriented process are discussed. Prereq:Computer Science III
|
SYCS-498 Special Topics: Robotics Programming 3 Credits |
This course will present the basic concepts of programming intelligent robot systems. Topics that will be examined include a general introduction to robotics hardware, a survey of actuators and how to use them and programming sensors. Higher level concepts that will be covered include multi-robot communication, robot localization and path planning. Most topics covered in the course will have an associated project implemented with the Lego Mindstorms NXT kit. Prereq: Computer Science or Elementary Computation or (some prior programming experience), Calculus I. |
|