43 x Bachelor of Science in Computer Science (BSCS) Objectives: The Bachelor of Science in Computer Science curriculum is designed to provide in-depth professional training in a range of current computer science subjects, including structured programming, object-oriented analysis and program design, computer organization principles and industry-wide operating systems, database principles and applications, and principles of computer networks. It is designed to equip the student with both a theoretical background and hands-on experience. The curriculum provides training in software engineering and prepares the students for employment in computer software related areas, such as computer software design and development, and computer software applications in computer networks and Internet systems. The computer training will enable the students to work with computers as programmers, program and/or systems analysts, software engineers, computer systems administrators, database developers or administrators, Internet application software engineers, and technical program managers. After completing the undergraduate degree, a student is also prepared to enter an advanced degree program in a computer science related field if he/she desires. Graduation Requirements: A minimum of 129 units are required for graduation. They include the following: 1) 39 units of general education courses including 12 units in English and communications, 9 units in humanities, 9 units in mathematics and natural sciences, and 9 units in social sciences, 2) 75 units of major courses, and 3) 15 units of electives. BSCS Curriculum (Total 129 units) 1. General Education (minimum 39 units) The purpose of general education is to give breadth to the student’s education. With a general background in English and communications, humanities, mathematics, natural sciences, and the social sciences, the student will be prepared for his/her roles both in society and at work. Students who have not completed the general education requirements upon entering a degree program at NPU are required to observe the following curriculum to meet the general education requirements. Units (a) English and Communications (12 units) (ENGL101 is a required course. Other listed courses are suggested subjects.) ENGL101 Expository Writing (3) ENGL102 Critical Thinking (3) ENGL115 Public Speaking (3) ENGL210 Intercultural Communication (3) (b) Humanities (9 units) (The following are suggested subjects.) HU210 Introduction to Philosophy (3) HU240 Music Appreciation (3) HU280 Principles of Ethics (3) (c) Mathematics and Natural Sciences (9 units) (MATH201 and MATH208 are required courses. PHYS101 is a suggested subject.) PHYS101 Introduction to Physical Sciences (3) MATH201 Calculus – I (3) MATH208 Statistics (3) 44 (d) Social Sciences (9 units) (The following are suggested subjects.) SOC201 California History (3) SOC245 Health Psychology (3) SOC275 The American Experience (3) 2. Major Requirements (minimum 75 units) [Engineering mathematics, science, digital circuits basics, and computer science; a course to prepare for professional career] Units IT200 Introduction to Computers and Digital Media (3) MATH202 Calculus – II (3) MATH203 Linear Algebra (3) MATH205 Differential Equations (3) PHYS201 Physics – I (3) PHYS201L Physics Lab – I (1) PHYS202 Physics – II (3) PHYS202L Physics Lab – II (1) CS200 Discrete Logic (3) CS204 Program Design and Analysis in C Language (3) CS204L C Programming Lab (1) CS230 Introduction to Unix/Linux (3) CS230L Unix/Linux Lab (1) EE205 Fundamentals of Digital Electronics (3) EE205L Digital Electronics Lab – I (1) CE305 Computer Organization (3) CS350 Data Structures (3) CS350L Data Structures Lab (1) CS360 Object-oriented Programming in C++ (3) CS360L Object-oriented Programming in C++ Lab (1) CS380 Operating Systems (3) CS385 Unix/Linux Shell and Python Scripting (3) CS385L Unix/Linux Shell and Python Scripting Lab – II (1) BUS445 Professional Development (3) CE450 Fundamentals of Embedded Engineering (3) CE450L Embedded Engineering Lab (1) CS453 Compiler Design (3) CS457 Data Modeling and Implementation Techniques (3) CS457L Database Technologies Lab (1) CS470 Network Engineering and Management (3) CS470L Network Engineering Lab (1) CS480 Java and Internet Applications (3) CS480L Java Programming Lab (1) 3. Electives (minimum 15 units) The student may select courses in any discipline to fulfill this requirement to promote breadth as well as depth in their study program. Course prerequisite requirements must be met. When applicable, the student may take curricular practicum courses and engage in practical training to work on company projects that are directly related to the student’s course of study. Students interested in research and development work may select to enroll in the Senior Design Project course series and work under the guidance of a project advisor. Detailed course requirements for the Senior Design Project course series are posted on the Online Service Center.