BCS 101 Programming Concepts and Problem Solving
This course will provide an introduction to programming logic and problem solving techniques using different programming languages. The topics covered in this course will provide the skills needed to
learn languages such as Visual Basic, C+ + and JAVA. Topics include such items as constants and variables, data types, scope of variables, basic logic constructs, subroutines and functions. Students
who have completed BCS 120 or equivalent cannot take BCS 101. Credits: 3 (3,0)
BCS 120 Foundations of Computer Programming I
This course introduces the C++ Programming Language as a means of developing structured programs. Students will be taught to develop algorithms using top-down stepwise refinement. Students will be
introduced to the concept of Object Oriented programming. In addition, students will get a thorough exposure to C++ syntax and debugging techniques. Credits: 3 (3,0)
BCS 130 Website Development I
This is an introductory course in Web page authoring in which students will create Web pages using HTML (HyperText Markup Language) and CSS (Cascading Style Sheets). In addition to the introductory
topics of changing text appearance, creating hyperlinks, and inserting images into a Web page, advanced topics such as layout, tables, and forms will also be covered. Credits: 3 (3,0)
BCS 148 8086 and 8088 Assembler Programming I
This course examines the architecture and instruction set of the INTEL 8086 and 8088 chips used on the IBM-PC. Topics include: machine execution; addressing; input/output; arithmetic; branching, and
control instructions. Students use the IBM-PC macro assembler to code and debug typical business applications. Credits: 3 (3,0)
BCS 215 UNIX Operating Systems
This course develops the fundamental knowledge of computer operating systems using UNIX. Topics include basic understanding of the UNIX system, utilizing the file system, programming language and
security system. BCS 120 may be taken as a Prerequisite or Corequisite. Prerequisite(s): BCS 120 Corequisite(s): BCS 120 Credits: 3 (3,0)
BCS 230 Foundations of Computer Programming II
This course expands the knowledge and skills of Foundations of Computer Programming I. Among the topics covered are: arrays, pointers, strings, classes, data abstraction, inheritance, composition and
overloading. Prerequisite(s): BCS 120 with a grade of C or higher Credits: 3 (3,0)
BCS 255 Operating Systems
This course develops the fundamental knowledge of computer operating systems. Topics included in this study are types of operating systems, facilities and features of the different systems and user
techniques. Credits: 3 (3,0)
BCS 315 UNIX Operating Systems II
This course further develops the knowledge of UNIX with an emphasis on the practice skills required to deploy and administer modern Unix and Linux systems. Topics include selecting and installing
operating systems, adding users, virtualization, and the configuration and management of storage, networks and servers. Particular stress is paid system administration practices that foster the
creation and maintenance of scalable and secure systems. Prerequisite(s): BCS 215 with a grade of C or higher. Credits: 3 (3,0)
BCS 316 PERL Programming
This course provides an introduction to programming in the Perl language. Students will learn the Pearl syntax, the basics of using regular expressions, how to use Pearl data types, and how to access
and manipulate files. Students are also introduced to database connectivity and debugging techniques. Prerequisite(s): BCS 215 and BCS 230 all with a grade of C or higher. Credits: 3 (3,0)
BCS 332 Fundamentals of Assembly Language Programming
This course provides an introduction to assembly language programming. Concepts discussed include basic computer organization and architecture, instruction set design, the call stack, data
representation, addressing, and I/O. A number of programming assignments give students the opportunity to practice assembly language on one or more architectures chosen by the instructor.
Prerequisite(s): BCS 230 Credits: 3 (3,0)
BCS 340 Introduction to Algorithms
This course provides an introduction to efficient solutions for a variety of algorithmic problems commonly encountered in application programming. Problems are discussed and students are guided
through the discovery of progressively more efficient solutions. Areas to be discussed may include trees, graphs, sorting, searching, and testing. Advanced techniques, including recursion, dynamic
programming, greedy algorithms and parallel programming may be used to solve some of the problems. Small programming assignments will be required to illustrate an understanding of the details of the
algorithms. Prerequisite(s): BCS 230 with a grade of C or higher. Credits: 3 (3,0)
BCS 345 JAVA Programming
This course is designed for students with some experience with programming. The syntax of the Java programming language, object-oriented programming, creating graphical user interfaces (GUI),
exceptions, file input/output (I/O), and how to create Java applications and applets will be covered. Prerequisite(s): BCS 230 with grade of a C or higher. Credits: 3 (3,0)
BCS 370 Data Structures
This course will present sequential and linked representations of various built-in and abstract data structures including arrays, records, stacks, queues and trees. Algorithms will be developed
relating to various sorting and searching techniques, merging and recursion. A high-level structured programming language, such as C, using both static and dynamic storage concepts, will be used in
exploring and developing these algorithms. Prerequisite(s): BCS 230 with a grade of C or higher. Credits: 3 (3,0)
BCS 372 Foundations of Theoretical Computer Science
Computer science theory has implications both for what problems programmers choose to solve and for how they solve them. This course introduces students who are familiar with the craft of programming
to the underlying theory. Topics discussed include selections from automata theory, computability theory, and complexity theory. Prerequisite(s): BCS 230, MTH 30 and Junior or Senior Status Credits: 3
(3,0)
BCS 410 Computer Architecture
Computer Architecture is the study of hardware and software components of business information systems. Thorough understanding of the workings of the digital computer system is expected. Topics
include: hardware components, the machine cycle, binary arithmetic, systems software, and assembly language. These topics are evaluated with respect to their impact on the development of business
information systems. Two semesters of a programming language required. Prerequisite(s): Two semesters of a programming language required with a grade of C or higher and BCS 262 with a grade of C or
higher. Credits: 3 (3,0)
BCS 415 Operating System Internals and Design
This course will involve the study of the fundamentals of operating systems design and implementation. The concepts covered include process management, memory management, file systems, I/O system
management, distributed systems, and security. Students will examine how these concepts are found in several current open-source operating systems, including Vista, UNIX and/or Linux. Prerequisite(s):
BCS 215 and BCS 230 all with a grade of C or higher Credits: 3 (3,0)
BCS 185 Programming in Visual Basic
The Visual Basic language is used to develop Windows applications in a fast, reliable and efficient manner. This course will present the main components of a Visual Basic program, and will use these
components to develop increasingly more complex Windows applications. The standard Windows forms and controls will be explored in providing the skills and knowledge necessary to write these event
driven graphical interfaces. BCS 101 cannot be taken concurrently with BCS 185. Prerequisite(s): BCS 101 Credits: 3 (3,0)
BCS 235 JavaScript and jQuery
This course introduces students to JavaScript and jQuery. Students will learn how to write their own scripts in JavaScript, learn jQuery syntax, and use the jQuery and jQuery UI libraries. Students
will learn how to devise jQuery and jQuery UI scripting techniques such as effects, animation, tabbed panels, menus, accordions, content sliders, drag and drop, tooltips, date pickers, custom
tooltips, dialogs and portlets, and interactive image sliders and carousels. Students who have taken BCS 250 cannot receive credit for this course. Prerequisite(s): BCS 130 with a grade of C or
higher. Credits: 3 (3,0)
BCS 240 Website Development II
In this course, students will learn how to create websites that deliver a seamless experience across a diverse range of desktop and mobile devices using the same code base. In addition, students will
learn how to perform forms validation, create navigation and menuing systems, build responsive layouts with flexible content, code media queries, and create and modify template and child pages.
Students will use CSS 3 to create user interfaces with toolbars, animations, buttons, forms, lists, events, and themes. Prerequisite(s): BCS 130 with a grade of C or higher Credits: 3 (3,0)
BCS 260 Introduction to Database Systems
This course provides the fundamental knowledge of database concepts. Topics studied will include the history and advantages of database systems, and the process of database design including
entity-relationship diagrams and database normalization. Students will have hands-on experience using SQL (Structured Query Language). Prerequisite(s): BCS 120 and BCS 160 all with a grade of C or
higher Credits: 3 (3,0)
BCS 262 Data Communications
This course is an introduction to the concepts and applications of computer networking and its role in the business world today. Topics include: history of networking and applications, voice and data
communications, hardware, transmission, network topologies, network analysis, the OSI model, design, implementation and management issues. Credits: 3 (3,0)
BCS 285 Advanced Programming Visual Basic
This course provides an in-depth study of the skills and knowledge of Visual Basic programming. It is intended to reinforce and build upon the introductory Visual Basic by extending coverage of the
programming language and introducing more advanced features of the language. Some of the advanced topics covered will include multitier applications, database programming, programming for the web and
web forms, using report mechanisms, object- oriented terminology, creating classes and instantiating objects. Prerequisite(s): BCS 185 with a grade of C or higher. Credits: 3 (3,0)
BCS 301 Systems Analysis and Design
This course explores the major issues in the analysis and design of a system, including methods of data collection, information requirements analysis, and the analysis process are discussed. Emphasis
is placed on the importance of the user in the design process and focuses on approaches that improve the successful implementation of a computer system. Topics include general systems theory, Systems
Development Life Cycle, data flow diagrams, data dictionary, hardware and software evaluation, feasibility analysis, CASE tools and prototyping. Students are required to demonstrate their skill in
using project management and diagramming application software. Note: Credit cannot be given for both BCS 265 and BCS 301. Prerequisite(s): BCS 120 with a grade of C or higher and Junior Level Status.
Credits: 3 (3,0)
BCS 302 Systems Analysis and Design II
This is an advanced course in Systems Analysis and Design. Students will utilize the tools covered in BCS 301 to analyze system designs. Topics covered in the design phase will include input, output,
and database and user interface design. A CASE Tool and/or other rapid application development tools will be used to create the interfaces. Additional topics in the implementation and maintenance
phases will include testing, implementation and maintenance. Object-oriented systems and UML will also be covered. Students will analyze and prepare various case projects and will present and document
their results. Prerequisite(s): BCS 301 with a grade of C or higher. Credits: 3 (3,0)
BCS 427 Game Programming
This course provides an introduction to two-dimensional game programming. Students will learn how to draw and manage game objects. Techniques for adding sound to a game will be discussed. Creation of
computer controlled game objects will also be covered. Students will receive hands-on experience with a current game development platform. Students will be expected to create their own two-dimensional
game by the end of the course. Prerequisite(s): BCS 345 with a grade of C or higher. Credits: 3 (3,0)
BCS 428 Large Software System Development
This course introduces students to the tools and processes used in software development for large systems. Through the use of open source projects, the students will explore the build environment,
version control, and the testing tools used to produce code involving large numbers of programmers and product managers. Programming project management techniques, such as Agile, and best practices
for programming will also be introduced and discussed. Prerequisite(s): BCS 345 and BCS 370 Credits: 3 (3,0)