COMPUTER SYSTEMS

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 102 Computer Concepts and Applications
This is an introductory course in the use of personal computers in today's society. Students will receive instruction in basic computer concepts and terminology, the fundamentals of the Windows operating system and have hands on experience at the beginning to intermediate level using Microsoft Word, Excel, and PowerPoint. The Internet will be used to supplement textbook and lecture materials. Computer Systems students cannot use BCS 102 to meet a BCS Elective requirement. Credits: 3 (3,0)

BCS 110 Introductory Special Topics in Computer Programming and Information Systems
This course will cover introductory topics that are not covered in the regular curriculum. Topics may vary from semester to semester and reflects the interests and needs of students, faculty and industry. Permission of Department Chair is required. Prerequisite(s): Permission of Department Chair (3,0) Credits:3 (3,0)

BCS 111 Introductory Special Topics in Computer Programming and Information Systems
This course will cover introductory topics that are not covered in the regular curriculum. Topics may vary from semester to semester and reflects the interests and needs of students, faculty and industry. Permission of Department Chair is required. Prerequisite(s): Permission of Department Chair Credits: 3 (3,0)

BCS 112 Introductory Special Topics in Computer Programming and Information Systems
This course will cover introductory topics that are not covered in the regular curriculum. Topics may vary from semester to semester and reflects the interests and needs of students, faculty and industry. Permission of Department Chair is required. Prerequisite(s): Permission of Department Chair Credits:3 (3,0)

BCS 113 Introductory Special Topics in Computer Programming and Information Systems
This course will cover introductory topics that are not covered in the regular curriculum. Topics may vary from semester to semester and reflects the interests and needs of students, faculty and industry. Permission of Department Chair is required. Prerequisite(s): Permission of Department Chair Credits: 3 (3,0)

BCS 114 Introductory Special Topics in Computer Programming and Information Systems
This course will cover introductory topics that are not covered in the regular curriculum. Topics may vary from semester to semester and reflects the interests and needs of students, faculty and industry. Permission of Department Chair is required. Prerequisite(s): Permission of Department Chair 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 136 Programming in COBOL I
The fundamental skills and knowledge of computer programming using COBOL are developed in this course. Among the topics studied are elements of the COBOL programming language and application of the language to solving business computer applications. 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 160 Computers, Society and Technology
This is an introductory course that provides students with the knowledge to stay current and informed in a technology-oriented, global society. Students will receive instruction in basic computer concepts and terminology, the fundamentals of the Windows operating system and have hands-on experience at the beginning to intermediate level using Microsoft Excel and Access. The Internet will be used to supplement textbook and lecture materials. Note: Students taking this course may not receive credit for BCS 102 or 202. 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 202 Computer Applications for Business/Sport Management
In this course students will learn the fundamentals of computer applications for business including sport management. This course will cover file management and have hands on experience at the beginning through advanced level using microcomputer spreadsheet and database applications. Students will use a spreadsheet program to enter formulas, create charts, execute functions and macros, create, sort and query lists, create pivot tables, create templates, and work with multiple worksheets and workbooks. Students will use a database program to create data table structures, queries, reports, and forms, create switchboards, pivot tables, and pivot charts. Please note: This course may not be used to satisfy the requirements of the B.S. in Computer Programming and Information degree. Students completing this course may not receive credit for SMT 202. Prerequisite(s): BCS 102 with a grade of C or higher Credits: 3 (3,0)

BCS 208 Introduction to Networks
This course introduces the architecture, structure, functions, components, and models of the Internet and other computer networks. The principles and structure of IPv4 and IPv6 addressing and the fundamentals of Ethernet concepts, media, and operations are introduced to provide a foundation for the curriculum. By the end of the course, students will be able to build simple LAN’s, perform basic configurations for routers and switches, and implement IP addressing schemes. The laboratory component of this course will give the students hands-on experience configuring equipment needed to build a LAN. Prerequisite(s): Sophomore standing Credits: 3 (2,2)

BCS 209 Routing and Switching Essentials
This course describes the architecture, components, and operations of routers and switches in a small network. Students learn how to configure a router and a switch for basic functionality. By the end of this course, students will be able to configure and troubleshoot routers and switches and resolve common issues with RIPv1, RIPv2, single-area and multi-area OSPF, virtual LANs, and inter-VLAN routing in both IPv4 and IPv6 networks. The laboratory component of this course will give the students hands-on experience configuring routers, switches and basic WAN connectivity. Prerequisite(s): BCS 208 with a grade of C or higher Credits: 3 (2,3)

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 232 Electronic Commerce
This cross-listed business management and business computer systems course covers electronic commerce (EC) foundations, retailing methodologies, and marketing research. Focus will be on the various forms, strategies, and implementations of EC including business-to-business (B2B), business-to-consumer (B2C), and consumer-to-consumer (C2C). Also covered will be social networking, electronic payment systems, and public policy issues including privacy and intellectual property matters as well as recent information technology advancements. Students completing BCS 232 may not receive credit for BUS 232. Prerequisite(s): BUS 109 and BCS 101 or BCS 102 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 237 Intermediate COBOL Programming
This course expands the skills and knowledge of computer programming using COBOL. Topics to be covered include multi-level control break processing, file handling techniques for both sequential and indexed files, table processing, and searching and sorting methods. Prerequisite(s): BCS 136 with a grade of C or higher or DPR 136 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 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 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 300 Management Information Systems
Managers have increasing responsibility for determining their information system needs and for designing and implementing information systems that support these needs. Management information systems integrate, for purposes of information requirements, the accounting, finance, and operations management functions of an organization. This course will examine the various levels and types of software and information systems required by an organization to integrate these functions. Prerequisite(s): BUS 109 or BUS 111 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 303 XML
Students will be introduced to the basic intermediate concepts of XML, the Extensible Markup Language. Students will learn how to create the XML document, work with name- spaces, Document Type Definitions, and XML schemas. In addition, students will also use the advanced features of XML, such as XPath and the XSLT stylesheet language to transform XML documents. Prerequisite(s): BCS 130 and BCS 120 all with a grade of C or higher Credits: 3 (3,0)

BCS 305 Data Visualization
Data visualization describes any effort to help people understand the significance of data by placing it in a visual context. Patterns, trends and correlations that might go undetected in text-based or spreadsheet data are recognized using data visualization software. In this course, students will use data visualization software to display data using infographics, dials and gauges, geographic maps, spark lines, and heat maps, as well as creating detailed bar, pie, and fever charts. These maps and charts will include interactive capabilities, enabling users to manipulate the data or drill into the data for querying and analysis. Prerequisite(s): BCS 300 with a grade of C or higher Credits: 3 (3,0)

BCS 311 Local Area Networks and Server Administration
This course will provide an introduction to local area networking concepts. These ideas will be explored in conjunction with an introduction to the concepts and tools necessary to implement, administer and troubleshoot the Microsoft Windows network. Hands-on experience will be used in the presentation of system administration tools. Prerequisite(s): BCS 262 with a grade of C or higher 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 317 Enterprise Resource Planning
Enterprise Resource Planning (ERP) is an organizational and information systems approach that integrates planning, customer relationship management, decision making, master scheduling, material requirements planning, marketing, forecasting, sales, finance, electronic commerce, and human resources. The course will include lectures and extensive use of supporting ERP software. Note: Students who have previously completed IND 313 cannot receive credit for BUS/ BCS 313. Students completing this course cannot receive credit for BUS 317. Prerequisite(s): BUS 109 Credits: 3 (3,0)

BCS 318 Virtualization and Cloud Computing
This course explores installation, configuration, and management of VMware® vSphere™, which consists of VMware ESXi/ESX™ and VMware vCenter™Server. In addition, use of Virtualization Servers with Storage Area Networks and Network Attached Storage Technologies will be discussed. This advanced course prepares the student to understand OS virtualization, Storage Virtualization, and Cloud Computing. Prerequisite(s): BCS 215 and BCS 262 with a grade of C or higher Credits: 3 (3,0)

BCS 320 Scaling Networks
This course describes the architecture, components, and operations of routers and switches in a larger and more complex network. Students learn how to configure routers and switches for advanced functionality. By the end of this course, students will be able to configure and troubleshoot routers and switches and resolve common issues with OSPF, EIGRP, STP, and VTP in both IPv4 and IPv6 networks. Students will also develop the knowledge and skills needed to implement DHCP and DNS operations in a network. Note: Students who have completed BCS 330 or BCS 335 may not receive credit for BCS 320. Prerequisite(s): BCS 209 with a C or higher. Credits: 3 (3,0)

BCS 321 Connecting Networks
This course discusses the Wide Area Network (WAN) technologies and network services required by converged applications in a complex network. The course enables students to understand the selection criteria of network devices and WAN technologies to meet network requirements. Students learn how to configure and troubleshoot network devices and resolve common issues with data link protocols. Students will also develop the knowledge and skills needed to implement IPSec and virtual private network (VPN) operations in a complex network. Note: Students who have completed BCS 330 or BCS 335 may not receive credit for BCS 321. Prerequisite(s): BCS 320 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 350 Web Database Development
This advanced course prepares the student to use database management systems with web server software to develop and maintain the information content of a web site. Students in the course should have prior knowledge of programming and database management systems. Prerequisite(s): BCS 260 with a grade of C or higher. Credits: 3 (3,0)

BCS 351 Web Frameworks
In this course, students will use web frameworks, such as Bootstrap and Angular JS, which are free, open-source front-end web frameworks for designing responsive, mobile-first websites and web applications. Students will gain experience using frameworks to design HTML, JavaScript, and CSS-based design templates for typography, forms, forms validation, buttons, navigation, site layout, and other interface components, as well as optional JavaScript extensions. Prerequisite(s): BCS 130, BCS 235 both with a grade of C or higher. Credits: 3 (3,0)

BCS 360 Programming in SQL
The second in a two course sequence applies the knowledge of BCS260 to administer and implement relational database systems. Topics covered may include: embedded SQL and other mixed language mechanisms; PL/SQL; advanced/optimized SQL queries; transaction management including concurrency and recovery; schema refinement; higher-level normal forms; integrity; security; and database administration. Prerequisite(s): BCS 230, BCS 260 with a grade of 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 375 Legal and Ethical Issues in Database and System Administration
In response to privacy concerns and the growth of big data, governments have instituted legal restrictions on access to and on storage of certain forms of data, for example health records. This course explores ethical and legal issues relating to computers, with a particular emphasis on the ethical and legal obligations of system administrators and others with extraordinary access to personal data stored on computers. Prerequisite(s): BCS 215, EGL 102 and Junior Status Credits: 3 (3,0)

BCS 378 Information Security
This course introduces students to the principles and practices of computer and network security. Topics covered include fundamental concepts and principles of computer security, basic cryptography, public key infrastructure, authentication and access control, threats and vulnerabilities, intrusion detection/prevention systems and network security, operating system security, software and data security, web security, and managerial and ethical issues in computer security. Prerequisite(s): BCS 262 and BCS 230 all with a grade of C or higher Credits: 3 (3,0)

BCS 380 Advanced Database Programming
This course will provide a detailed examination of a relational database management system and its procedural language such as Oracle and PL/SQL or SQL Server and T-SQL. General programming concepts such as conditional and iterative control, error handling and built-in exceptions will be discussed. Covered in more detail will be topics such as cursors, triggers, and the stored functions, procedures and packages. These topics will then be explored through laboratory assignments using a RDBMS such as Oracle or SQL server. Prerequisite(s): BCS 360 with a grade of C or higher Credits: 3 (3,0)

BCS 390 Database Administration and Security
This course provides the knowledge necessary to handle database administration and database security. Topics studied may include installation and configuration of a database, managing and securing user resources and privileges, data integrity, networking, optimization, and backup and recovery. Hands-on activities with a major commercial DBMS will be assigned to complement the lectures and written work and to develop practical skills. Prerequisite(s): BCS 260 and BCS 215 with a grade of C or higher. Credits: 3 (3,0)

BCS 405 IS Development Project Management
This course will cover Project Management tools and techniques for Systems Development projects. Students will learn Project Management, Scope Management, Time Management, Cost Management, Quality Management, Human Resource Management and Communications Management all in the context of running successful information systems development and implementation projects. MS project will be used as a tool to managing all of these areas. Prerequisite(s): BCS 300 with a grade of C or higher. 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 413 Advanced Enterprise Resource Planning
This advanced-level Enterprise Resource Planning (ERP) course includes high-level information technology coverage of Scheduling, Planning, MRP, Logistics, Warehousing, Procurement, Quality, Vendor Management, Cost Accounting, Forecasting, KPI, Supply Chain, and Customer Resource Management. Also covered are concepts and software applications pertaining to product design, development, manufacturing (production), marketing, sales, and field service. This course emphasizes proficiency in the skill sets typically required within industry practices. Prerequisite(s): BUS 300 or BCS 300 and (BUS 317 or BCS 317) 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 420 Client/Server Computing
Included in this course are a wide range of issues, methods, techniques and case examples for developing and managing client/server and distributed systems. These include client/ server development using (RAD) methodologies, transaction process monitors, types of aboveware and middleware, middleware standards (DCE,RPC and CORBA), managing client/server environments, software installation and distribution, electronic mail architectures in C/S products. Prerequisite(s): BCS 260 Credits: 3 (3,0)

BCS 421 Android Mobile Application Development
This course provides an introduction to Android mobile application development. Techniques for designing the user interface will be discussed. The Android application lifecycle and issues related to battery life will be covered. Storing application data using a database will be explored. Students will receive hands-on experience using the Android mobile application development platform. Prerequisite(s): BCS 230 and BCS 345 with a C or higher. Credits: 3 (3,0)

BCS 422 iOS Mobile Application Development
This course provides an introduction to iOS mobile application development for Apple devices. Students will be introduced to the Swift programming language. Emphasis will be placed on good programming practices, on object oriented techniques, and on using established design patterns for mobile applications. Students will receive hands-on experience using the Xcode development environment to build example apps. Basic instruction in Objective-C will provide students with the ability to read and reuse legacy iOS code. Prerequisite(s): BCS 345 or BCS 370 with a grade of C or higher. Credits: 3 (3,0)

BCS 425 Business Intelligence and Data Warehousing
Business Intelligence is the transformation of data into actionable information. This information is used by businesses to drive high-level decision making. This course is concerned with extracting data from the information systems that deal with the day-to-day operations and transforming it into data that can be used for decision making. Students will learn how to design and create a data warehouse, and how to utilize the process of extracting, transforming, and loading (ETL) data into data warehouses. Students will design and construct dynamic reports using the data warehouse and multi-dimensional online analytical processing (OLAP) cubes as the data source. Prerequisite(s): BCS 260 with a grade of C or higher. Credits: 3 (3,0)

BCS 426 C# Programming
This course is an introduction to the C# (“C-Sharp”) programming language for students with existing programming experience. The course covers the syntax of the C# programming language, .NET (“dot net”) infrastructure, creating graphical user interfaces, using databases, using web services, and multithreading. Students will be required to complete a number of practical programming assignments to solidify their knowledge of the language and its application. Prerequisite(s): BCS 345 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)

BCS 430W Senior Project (Writing Intensive)
The primary objective of this course is to give Computer Programming and Information Systems students an opportunity to integrate techniques and concepts acquired in their other courses. Elements will be drawn primarily from BCS301 (Systems Analysis and Design) and BCS260 (Database), in addition to other courses in the student's selected track of study. The course is experiential in nature i.e. the student will be required to produce results for use by real individuals and will be evaluated both on process and product. In addition to prerequisites, a second level programming course with a grade of C or better, and Senior level standing is required. This is a writing-intensive course. Note: Students cannot get credit for BSC 430 and 430W; BCS 430W can be used to fulfill the writing intensive requirement. Note: Offered at the discretion of the Computer Programming and Info Systems Department. Prerequisite(s): EGL 101, BCS 260, BCS 230 and BCS 301 all with a grade of C or higher Credits: 3 (3,0)

BCS 440 CPIS Internship
In this course, the student works under the tutelage of a professional who serves as site supervisor in an organization that provides information services. The work done by the student is guided by learning objectives agreed to by the site supervisor, the faculty member and the student. Students are required to submit a written proposal, progress reports, and a final report on their experience to the client and to the department. The course offers an ideal opportunity to test theory in practice and to gain experience in a realistic information provision situation. The experience is expected to be mutually beneficial for the organization and student. Prerequisite(s): Junior Status and GPA >=3.0. Credits: 3 (1,0,6)

BCS 450 Special Topics in Computer Programming and Information Systems
Courses that range from 450-451 will cover topics not covered in the regular curriculum. Topics may vary from term to term and reflect the interests of students, faculty and industry. Topics may include wireless communications, rapid application development and other emerging technologies. Prerequisite(s): Permission of Department Chair Credits: 3 (3,0)

BCS 451 Special Topics
Courses that range from 450-451 will cover topics not covered in the regular curriculum. Topics may vary from term to term and reflect the interests of students, faculty and industry. Topics may include wireless communications, rapid application development and other emerging technologies. Prerequisite(s): Permission of Department Chair Credits: 3 (3,0)

BCS 460 Independent Study
This is an independent study course designed to offer the student experience in research of a specialized area of interest. The student will have an opportunity to work individually or with a group in designing, developing and presenting a research project. The topic must be approved by a faculty member. Students will be required to submit full documentation and present their final results. Prerequisite(s): Permission of Department Chair Credits: 3 (3,0)