Bachelor of Science in Computer Science
Considering the high-tech world we live in, it’s no surprise computer science professionals are in demand across all industries. The job market is filled with opportunities for future-focused workers with the knowledge and skills to design innovative uses for new and existing computing technology.
Berkshire University’s Bachelor of Science in Computer Science (BSCS) degree program balances a strong academic foundation, realistic design, and implementation projects to prepare you for an exciting career in this fast-paced industry.
NU’s BSCS curriculum is designed to ensure you acquire the technical and design experience you need to succeed in the growing field of software engineering. You’ll study everything from design and implementations to management and security while you build industry-relevant expertise in data structures and algorithms, efficient, object-oriented programming and application of database systems, computer communication networks, and computer architecture. The field of computer science is evolving fast. If you want to see and be a part of what’s coming next, NU’s BS in Computer Science can show you the way.
Prerequisites for the Major
MTH 215 College Algebra & Trigonometry* – 4.50
Prerequisite: MTH 12A and MTH 12B, or Accuplacer test placement evaluation
Examines higher degree polynomials, rational, exponential and logarithmic functions, trigonometry and matrix algebra needed for more specialized study in mathematics, computer science, engineering and other related fields. Computer and/or graphing calculator use is highly recommended.
OR MTH 216A College Algebra I – 3.00
Prerequisite: MTH 12A and MTH 12B, or Accuplacer test placement evaluation
The first part of a comprehensive two-month treatment of Algebra and Trigonometry preliminary to more specialized study in Mathematics. The course covers Higher Degree Polynomials, Rational Functions, Exponential and Logarithmic Functions, transformations and the Algebra of functions, Arithmetic and Geometric sequences.
& MTH 216B College Algebra II – 3.00
Prerequisite: MTH 216A
The second term of a comprehensive two-term treatment of Algebra and Trigonometry; this course is a continuation of MTH 216A. Topics include: Trigonometric Functions, Analytic Trigonometry and Application, Matrix Algebra, Systems of Linear and Non-Linear Equations and Inequalities, and Applied Problems. A graphing calculator may be required.
CSC 208 Calculus for Comp. Science I* – 4.50
Prerequisite: MTH 215
(Cross-listed and equivalent to MTH220) Focus on differential and integral calculus with applications. Topics include limits and continuity, derivatives, standard rules of differentiation including chain rule, exponential and logarithmic forms, curve sketching, definition of anti-derivatives; integration rules including substitution and by parts, coverage of Fundamental Theorem of Calculus and a brief exposure to numeric integration. Students may not receive credit for both CSC 208 and MTH 220.
CSC 242 Intro to Programming Concepts* – 4.50
Prerequisite: MTH 215
This course introduces modern programming design techniques using C++. A study of fundamental control structures in C++ as well as syntax and semantics of the constructs in the language. The coverage includes data types, looping and decision statements, functions, and arrays. The course examines problem analysis, decomposition and modern programming paradigms and methodologies with introduction to object-oriented programming.
CSC 209 Calculus for Comp. Science II – 4.50
Prerequisite: CSC 208
Continuation of Calculus I with emphasis on understanding of concepts and developing problem solving techniques and strategies. Topics include integration of trigonometric functions, functions of several variables, convergence of series and sequences. Applications in the areas of series approximation, continuous probability distributions, random variables, and modeling are discussed and examined.
CSC 252 Programming in C++* – 4.50
Prerequisite: CSC 242
The course introduces the fundamentals of Object-Oriented Programming in C++ including class definition and object instantiation, inheritance and polymorphism. Detailed coverage of pointers, operator overloading, I/O and file streams, templates, and exception handling. Exposure to Data Structures and basic algorithms for sorting and searching.
CSC 262 Programming in JAVA* – 4.50
Prerequisite: MTH 215
The course introduces the Java programming language and its features. Topics include introduction to object-oriented programming, basic control structures, Java graphics and GUI objects, exposure to event driven programming, arrays and strings in Java. Coverage includes inheritance, and polymorphism and exception handling.
CSC 220 Applied Probability & Stats. – 4.50
Prerequisite: CSC 208, or MTH 220; EGR 220
Introduction to the theory and applications of probability and statistics. Topics include data and numerical summary measures, fundamental concepts of probability, conditional probability, random variables, common distributions, quality and reliability and statistical inference (estimation, hypothesis testing, and regression). The emphasis is on developing problem solving skills and application to business, social sciences and engineering.
CSC 272 Advanced Programming in Java – 4.50
Prerequisite: CSC 262
A treatment of advanced programming techniques in Java using abstraction, encapsulation and inheritance. A deep dive with generic collection classes, coverage of regular expressions, file I/O operations, serialization, multi-threading, and Graphical User Interface design.
Requirements for the Major
CSC 310 Linear Algebra and Matrix Comp – 4.50
Prerequisite: CSC 252, or CSC 272
The course includes the study of vectors in the plane and space, systems of linear equations, matrices, determinants, vectors, vector spaces, linear transformations, inner products, eigenvalues and eigenvectors. The course will approach the study of linear algebra through computer-based exercises. Technology will be an integral part of this course. Students will also develop experience applying abstract concepts to concrete problems drawn from engineering and computer science.
CSC 331 Discrete Structures and Logic – 4.50
Prerequisite: CSC 252, or CSC 272
(Cross-listed and equivalent to MTH 325) A theoretical foundation for computer science. Introduction to topics such as sets, propositional logic, Boolean algebra, counting techniques, recursive equations and solution techniques, graph algorithms with application to trees. Introduction to mathematical proofs. Students may not receive credit for both CSC 331 and MTH 325.
EGR 320 Scientific Problem Solving – 4.50
Prerequisite: CSC 208, or EGR 220
The scientific approach to problem solving through analysis and design are presented using modern computer science and engineering examples. Critical thinking and communication skills will be used to interpret and present results from real-world case studies where computers were used to solve scientific problems.
CSC 300 Object Oriented Design – 4.50
Prerequisite: CSC 252, or CSC 272
Covers the key concepts and methodologies required for object-oriented design, evaluation and development with focus on practical techniques such as use-case, and scenario based analysis. Coverage of Unified Modeling Language (UML) and domain analysis design. Exposure to software development process models and software management and security.
CSC 335 Data Structures and Algorithms – 4.50
Prerequisite: CSC 300; CSC 331
An overview of common data structures such as lists, stacks, queues, trees, and graphs. A discussion of various implementations, efficiency and applications of data structures. Course examines efficient storage structures such as Hash tables and Binary Search Tree. Coverage of searching, sorting and graph algorithms along with their implementation and efficiency analysis.
CSC 350 Computer Ethics – 4.50
Analysis of the values, ethics and ideologies in computing and their applications to current issues in computer industry within the contemporary sociocultural setting. Focuses on ethical decision-making in computing matters. Students develop an ethical outlook on a wide variety of workplace issues in computing through case study, debate and readings.
CSC 340 Digital Logic Design – 4.50
Prerequisite: CSC 331; Corequisite: CSC 340L
Foundation in design and analysis of the operation of digital gates. Design and implementation of combinational and sequential logic circuits. Concepts of Boolean algebra, Karnaugh maps, flip-flops, registers, and counters along with various logic families and comparison of their behavior and characteristics.
CSC 340L Digital Logic Design Lab – 4.50
Prerequisite: CSC 331; Corequisite: CSC 340
A study of basic digital logic circuit design and implementation. Circuit schematic development and computer modeling and simulation of digital systems. Experiments explore designs with combinational and sequential logic. Students work through design activities, which include testing, troubleshooting and documentation.
CSC 338 Algorithm Design – 4.50
Prerequisite: CSC 335
This course presents an introduction to algorithm design strategies and their application in solving some commonly encountered problems in computing. Topics include asymptotic behavior of algorithms, algorithm designs such as brute force and exhaustive search, divide-and-conquer, dynamic programming, greedy techniques, backtracking as well as branch and bound approach. A discussion of Intractability and NP–complete problems. The course includes an introduction to the theory of parallel and distributed computing.
CSC 342 Computer Architecture – 4.50
Prerequisite: CSC 340 and CSC 340L
An examination of advanced hardware design, analysis and low-level programming with emphasis on the structure of the machine. In addition, the machine cycles and instructions, pipelining, addressing modes, memory hierarchy, cache levels and virtual memory and architecture concepts are covered. A discussion of I/O architectures and data transmission modes, disk technologies, tapes and RAID concepts. Comparison of alternative architectures like RISC and parallel processing are presented.
CSC 400 OS Theory and Design – 4.50
Prerequisite: CSC 335
An introduction to operating system concepts including implementation, processes, deadlocks, communication, multi-processing, multilevel memory management, file systems, protection, resource allocation, and scheduling.
CSC 422 Database Design – 4.50
Prerequisite: CSC 300
A survey of principles, structure, analysis, and techniques of database design and implementation. Topics include physical and logical design, normalization, database models, security, integrity and queries.
CSC 436 Comp. Communication Networks – 4.50
Prerequisite: CSC 331
An in-depth study of fundamental concepts in the design and implementation of computer communication networks. Coverage of core problems such as framing, error recovery, multiple-access, flow control, congestion control, routing and end-to-end reliability. Topics include basics of switched communication networks, packet switch architecture, TCP/IP networking, routing algorithms, Quality-of-Service networks. Network tools are applied in quantitative modeling and analysis of networks.
CSC 430 Programming Languages – 4.50
Prerequisite: CSC 300
A comparative study of programming languages. Syntax, semantics and pragmatics are considered. Language features that support Object-Oriented programming are emphasized. Recent trends in programming language design and theories are studied.
CSC 480A Computer Science Project I – 4.50
Prerequisite: Completion of requirements for the major EXCEPT CSC340/CSC340L, CSC342, ITM470
Part I of three-part capstone project course focusing on Software Engineering concepts. Coverage of software development processes with a focus on agile development model. An exposure to software project management concepts including project scheduling. Students work collaboratively to gather requirements and generate UML use case diagrams for a realistic software project to be designed and constructed in parts II and III of the series. Emphasis is on agile Scrum software development process model. Grading is by H, S or U only.
CSC 480B Computer Science Project II – 4.50
Part II of three-part series on Software Engineering concepts and practices.Students follow a formal software development process model to build a system with specified requirements. A study of software testing methodologies. The focus is on object-oriented design, implementation and testing of tasks and subsystems in sprints. Students engage in Scrum software development process model and sprint planning. Grading is by H, S or U only.
CSC 480C Computer Science Project III – 4.50
Prerequisite: CSC 480B
Part III of three-part capstone project course with focus on Software Engineering concepts and practices. Exposure to Software security engineering and software configuration management. Students continue to engage in Scrum agile software development process model and sprint planning. Conduct object-oriented design, implementation, testing and project write up to deliver and demonstrate the finished software product. Grading is by H, S or U only.
Approved Electives
CSC 441 – Web App Development – 4.50
An examination of web application development technologies, tools, and frameworks. The course covers design and construction of secure, responsive web applications. Topics include HTML, CSS, JavaScript, and client/server-side technologies for building full-stack dynamic applications.
CSC 443 – Mobile App Development – 4.50
Introduction to techniques and technologies in developing mobile applications. Coverage of mobile application platforms, development tools, implementation, and testing. Topics include app layout and widgets, activity lifecycle, menus and dialogs, data management and sensor interactions. An exposure to user interface design on mobile devices.
CSC 447 – Software Testing & Automation – 4.50
Prerequisite: CSC 300
An introduction to software testing concepts, strategies, and tools. Coverage of unit testing, functional and structural testing of software. A study of selection, design and execution of appropriate test plans and activities for software systems. Discussion of software testing automation and use of opensource software for testing.
CSC 449 – Software Engineering – 4.50
Coverage of software engineering techniques and processes for developing software products. Examination of software development lifecycle. Use of agile methodology and scenario-based user stories in object-oriented software design. Discussion of various software architectures. Topics include cloud-based software, security and privacy, code management, testing, and development operations.
CSC 450 Artificial Intelligence – 4.50
Prerequisite: CSC 335
An introduction to problem solving using modern artificial intelligence techniques. The course explores the latest challenges in the theory, practice, applications and implications of AI in the modern world with a focus on data science and machine learning. Examines the role of heuristics in problem solving. Concepts such as agents, production systems, and natural language communication are studied.
CIS 301 Mgmt Information Systems – 4.50
Overview of core concepts related to the emerging interconnections between technology, the organization, and information management.
CIS 310 Technology Project Management – 4.50
Foundation of project management – project integration, scope, time, cost, quality, human resources, communications, risk, and procurement. The focus is on the concepts, skills, tools, and techniques involved in information technology project management. Students will develop a project plan using Microsoft Project.
CIS 320 Systems Analysis & Integration – 4.50
Prerequisite: CIS 301
Comprehensive introduction to the planning, analysis, design, and implementation of contemporary information systems. Students will examine the role and responsibility of a System Analyst. Several approaches to system requirements are also covered.
CIS 475 IS Security Technology – 4.50
Prerequisite: CIS 474
This course covers the technical aspects of information security for computer systems and networks. Various topics of information security will provide students with an understanding of the tools and technologies used to design secure information systems and networks. With the understanding of what security is, this course discusses access control mechanisms, methods of attack, and secure protocols. It includes how to secure telecommunications networks and the Internet. Cryptography is discussed in regards to privacy and secrecy. There is an emphasis on physical security followed by application and system development security. In addition, there will be a discussion of vulnerability assessments and penetration testing and an examination of digital forensics. This course, together with CIS 474, may help students prepare for the Certified Information Systems Security Professional (CISSP) exam.
CIS 430 Web/EB Design & Development – 4.50
Focuses on two aspects of website management: technical and business aspects. An introduction to Web languages and technologies is made with some in-depth coverage of HTML and CSS. How to manage people, content, and suppliers is covered in the business focus.
CYB 331 Secure Linux System Admin – 4.50
Prerequisite: CYB 216
This course covers the secure administration of Linux based systems. Students will learn how to implement and assess standards based security measures on the Linux operating systems. Automating the implementation and assessment of security measures will be a core component of the class. Legal and ethical aspects of system administration will also be covered.
CYB 332 Secure Windows Administration – 4.50
This course covers the secure administration of Windows based Desktop and server systems. Students will learn how to implement and assess standards based security measures on Windows based operating systems. Automating the implementation and assessment of security measures will be a core component of the class. Legal and ethical aspects of system administration will also be covered.
CYB 333 Security Automation – 4.50
Prerequisite: CYB 331; CYB 332
This course builds on CYB 216 and covers advanced topics in security automation. Students will learn how to manage security related code in a software repository. Students will write integrated scripts to implement and assess system security. Use of devops automation tools to securely manage infrastructure will also be covered.
Degree and Course Requirements
To receive a Bachelor of Science in Computer Science, students must complete at least 180 quarter units to include a minimum of 69 units of the University General Education requirements; 76.5 quarter units must be completed at the upper-division level, and 45, including the senior project courses (CSC 480A, CSC 480B & CSC 480C), must be taken in residence at Berkshire University. In the absence of transfer credit, students may need to take additional general electives to satisfy the total units for the degree. Students should refer to the section on undergraduate admission procedures for specific information on admission and evaluation. All students receiving an undergraduate degree in Nevada are required by State Law to complete a course in Nevada Constitution.
Program Learning Outcomes
Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
Communicate effectively in a variety of professional contexts.
Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
Apply computer science theory and software development fundamentals to produce computing-based solutions.
Admissions
Enrolling in a university is a big decision. That’s why our dedicated admissions team is here to guide you through the admissions process and help you find the right program for you and your career goals.
To that end, we’ve simplified and streamlined our application process, so you can get enrolled in your program right away. Because we accept and review applications year round, you can begin class as soon as next month, depending on your program and location of choice.
Learn more about undergraduate, graduate, military, and international student admissions, plus admissions information for transfer students. You can also learn more about our tuition rates and financial aid opportunities.