Northeastern University

Academic Catalog 2023-2024

Computer science and business administration, bs.

The computer science and business combined major delivers a technical degree with a strong grounding in business. Students will complete most of the requirements of a business major, including macroeconomics and microeconomics, while also focusing on technical skills like program design, software development, computer organization, systems and networks, theories of computation, principles of languages, and advanced algorithms and data.

Complete all courses listed below unless otherwise indicated. Also complete any corequisite labs, recitations, clinicals, or tools courses where specified and complete any additional courses needed beyond specific college and major requirements to satisfy graduation credit requirements.

Universitywide Requirements

All undergraduate students are required to complete the  Universitywide Requirements .

NUpath Requirements

All undergraduate students are required to complete the  NUpath Requirements .

Computer Science Courses

Business courses, business concentration.

Complete a four-course business concentration from the following list.

  • Accounting and Advisory Services
  • Brand Management 
  • Corporate Innovation
  • Entrepreneurial Startups
  • Family Business
  • Healthcare Management and Consulting
  • International Business (available only as a second concentration)
  • Marketing Analytics
  • Social Innovation and Entrepreneurship
  • Supply Chain Management

Integrative Course

Supporting courses, computer science writing requirement, required general electives, business cooperative education .

Complete one cooperative education experience.

Khoury College GPA Requirement

Minimum 2.000 GPA required in all CS, CY, DS, and IS courses

Business GPA Requirement

Minimum 2.000 GPA required in business courses

NUpath Requirements Satisfied

  • Engaging with the Natural and Designed World
  • Conducting Formal and Quantitative Reasoning
  • Analyzing and Using Data
  • Understanding Societies and Institutions
  • Writing in the First Year
  • Advanced Writing in the Disciplines
  • Writing-Intensive in the Major
  • Demonstrating Thought and Action in a Capstone

Integrating Knowledge and Skills Through Experience is satisfied through co-op.

Program Requirement

133 total semester hours required

Sample Plan of Study: Four Years, Two Co-ops in Summer 2/Fall

Sample plan of study: four years, two co-ops in spring/summer 1, print options.

Send Page to Printer

Print this page.

Download Page (PDF)

The PDF will include all information unique to this page.

2023-24 Undergraduate Day PDF

2023-24 CPS Undergraduate PDF

2023-24 Graduate/Law PDF

2023-24 Course Descriptions PDF

Computer Science and Engineering

WE ENGINEER EXCELLENCE

undergrad students

Computer Science with Business Applications (CSBA) Major

The Bachelor of Science in Computer Science with Business Applications (CSBA) Program is accredited by the Computing Accreditation Commission (CAC) of ABET .

The Computer Science with Business Applications major is designed to provide students with a broad background in science and humanities and to provide an understanding of fundamental principles of computing and modern computing technology. It prepares the student for professional work with computer systems and business environments.

As a Computer Science with Business Applications major at UC Riverside, you will be taking a mix of core computer science courses, core business courses, and a breadth of humanities and social science courses.

More information on available courses can be found on the  Registrar's website .

To complete your degree, you will need to fulfill the requirements laid out in the  Computer Science with Business Applications course plan .

ABET Accreditation

The Bachelor of Science in Computer Science with Business Applications (CSBA) is accredited by the Computing Accreditation Commission (CAC) of  ABET . If you want to learn more about how the accreditation affects you, please refer to the  ABET page .

Program Educational Objectives

Graduates of UCR’s BS degree program in Computer Engineering will meet high professional, ethical, and societal goals as demonstrated by:

  • satisfaction with the decision to further their education
  • advanced degrees earned
  • professional visibility (e.g., publications, presentations, patents, inventions, awards)
  • career satisfaction
  • promotions/raises (e.g. Management leadership positions or distinguished technical positions)
  • professional responsibilities (e.g. professional registration, professional mentoring, professional society membership and offices)
  • entrepreneurial activities
  • consulting activities
  • leadership roles
  • public service
  • mentoring / outreach activities
  • volunteer service

Student Outcomes

Our goal for our graduates

As a graduate of our program, you will be able to move onto the next chapter of your life with the following skills:

1) Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. 2)Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. 3) Communicate effectively in a variety of professional contexts 4) Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. 5) Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. 6) Support the delivery, use, and management of information systems within an information systems environment.  

Graduation and Enrollment Data

In the Fall of 2023, total undergraduate enrollment in Computer Science with Business Applications was 217 students. In Spring of 2023, 64 Bachelor of Science degrees were awarded.

USC Viterbi School of Engineering Logo – Viterbi School website

  • B.S. Students
  • M.S. Students
  • Ph.D. Students
  • D-Clearance
  • Directed Research
  • Information for Graders and Course Producers
  • Microsoft Imagine
  • CS Student Organizations
  • CS Library Guide
  • CS Job Announcements
  • B.S. Program

There has never been a more exciting time to study computer science and we have four degree programs and a minor to help students explore all this dynamic and challenging discipline has to offer.  Undergraduate students can choose from a Bachelor of Science degree with a major in any of the following: Computer Science, Computer Engineering & Computer Science, Computer Science Games, or Computer Science and Business Administration. If you already have a major we invite you to take a look at our Computer Science minor, which will provide fundamental programming skills and technical knowledge that is increasingly in demand - regardless of your primary field of interest.

BS in Computer Science (CSCI)

The Computer Science major at USC provides a well-rounded Computer Science education. It leads to a Bachelor of Science degree in the Viterbi School of Engineering.

Program Educational Objectives

  • Graduates apply the computational and analytical approaches of computer science to their chosen professions.
  • Graduates successfully engage in life-long learning to continue to be contributing members of their communities in fields within and outside the traditional scope of computer science.
  • Graduates exhibit high professional ethical standards to become productive leaders in society.

Student Outcomes

Graduates of the program will have an ability to:

  • 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.

BS in Computer Engineering and Computer Science (CECS)

  • Graduates will apply analytical and critical thinking principles of both computer engineering and computer science to their chosen professions.
  • Graduates will successfully engage in life-long learning to continue to be contributing members of their communities in fields within and outside the traditional scope of computer engineering.
  • Graduates will exhibit high professional and ethical standards to become productive leaders in society.

Engineering Student Outcomes

  • Identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
  • Apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
  • Communicate effectively with a range of audiences
  • Recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
  • Function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
  • Develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
  • Acquire and apply new knowledge as needed, using appropriate learning strategies.

Computing Student Outcomes

Graduates of the program will also have an ability to:

  • Design, implement and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline.

BS in Computer Science Games (CSGA)

Bs in computer science and business administration (csba).

ABET does not currently provide an accreditation option for the Computer Science/Business program.

  • Minor in Computer Science

For more information visit the  minor program requirements .

Enrollment Data

Graduation data.

Published on June 14th, 2016

Last updated on February 3rd, 2023

  • Academic Programs
  • Getting Started with CS@USC
  • USC Course Catalogue
  • USC Schedule of Classes
  • Special Topics Courses
  • Computer Science
  • Computer Engineering and Computer Science
  • Computer Science Games
  • Computer Science and Business Administration
  • Progressive Degree Program
  • Computer Science (General)
  • Artificial Intelligence
  • Data Science
  • Game Development
  • Computer Security
  • Computer Networks
  • Software Engineering
  • Intelligent Robotics
  • Multimedia and Creative Technologies
  • High Performance Computing and Simulations
  • Scientists and Engineers
  • Thesis Option
  • Honors Program
  • Fall 2015 to Spring 2023
  • Fall 2014 or Earlier
  • Data Science Program
  • Graduate Certificate
  • Distance Education
  • K-12 Outreach
  • Chair’s Welcome
  • Awards and Honors
  • CS@SC Institutes
  • Media Coverage
  • Newsletters and Fact Sheets
  • CS Industry Affiliate Program
  • Bekey Lecture
  • Driving Directions
  • Open Staff Positions
  • Open Faculty Positions
  • Centers and Institutes
  • Research Areas and Labs
  • Technical Reports
  • Annual Research Review
  • Undergraduate Research Experiences
  • Faculty Directory
  • Staff Directory
  • M.S. Program
  • Ph.D. Program
  • Academic Advisement
  • B.S. Application Information
  • M.S. Application Information
  • Ph.D. Application Information

Don't bother with copy and paste.

Get this complete sample business plan as a free text document.

Computer Programming Business Plan

Start your own computer programming business plan

Gaming Futures, LLC

Executive summary executive summary is a brief introduction to your business plan. it describes your business, the problem that it solves, your target market, and financial highlights.">.

Gaming Futures, LLC, provides Windows ® application development/support, PlayStation2 ® development, XBox ® development, 2D and 3D art and visual effects, and project guidance. Gaming Futures is a game development studio formed by veterans of Modicum On-Line and Axiomatic InterRational. As developers of the best-selling and critically acclaimed “DreæmWhyrks” series, Gaming Futures’ talented core team members have produced five titles together, and have individual experience with dozens more. Gaming Futures is committed to creating high-quality, innovative, successful games and software.

We offer the following:

  • Game concepts and development for PC, PS2 ® , XBox ® , Pocket PC ® .
  • Game platform ports: PC/PS2/XBox/Game Boy ® .
  • 2D and 3D art, programming, libraries to spec.
  • Interface design and software enhancement.
  • Cohesive, talented development team with years of experience shipping products together.
  • Proven track record: DreæmWhyrks series has over 3 million units sold to date.
  • On time and on budget shipping.

The company is forming out of the ashes of Axiomatic InterRational which shut down last June. Gaming Futures is the core group of the last DreæmWhyrks project at Axiomatic. The DreæmWhyrks line has shipped over 3 million units. The production team has four years of successful product development as a team. Individually, the group has over 30 years of experience and has contributed to over 40 software products.

Bill Kerl, Project Manager for Gaming Futures, believes the company is well positioned to be a valuable resource to gaming companies that are seeking cost-effective ways to implement a gaming design mission that will meet projected completion dates. One of the greatest obstacles is the ability of the production team to perform without wasted effort and resources. Gaming Futures has a documented history of completing its projects under budget and on time.

Currently, the company has been successful in acquiring three contracts with the following companies:

  • Clear Mountain Productions
  • Weaver Farm, Inc.

Note: Windows ® , PlayStation2 ® , PS2 ® , Xbox ® , Pocket PC ® , and Game Boy ® are registered trademarks of their respective corporations.

Computer programming business plan, executive summary chart image

1.1 Objectives

Gaming Futures’ objectives are as follows:

  • Achieve sales goal of $200,000 during first year of operation.
  • Achieve a customer base of 40 companies.
  • Increase sales by 15% during the second year of operation.

1.2 Mission

The mission of Gaming Futures is to provide the highest quality service through the development of innovative, exciting products to the interactive entertainment industry.

Company Summary company overview ) is an overview of the most important points about your company—your history, management team, location, mission statement and legal structure.">

Gaming Futures, LLC, is a game development studio providing Windows application development/support, PS2 development, XBox development, 2D and 3D art and visual effects, and project guidance. The company will be organized as a Limited Liability Corporation.

2.1 Company Ownership

Gaming Futures, LLC is owned by its team of developers:

  • Bill Kerl
  • Diane Huber
  • Marcus Hathcock
  • Jillian Daley
  • Jeremy Lang

2.2 Company Locations and Facilities

Gaming Futures is located in a 3,000 square foot office space in the Northwest Industrial Park in northwest Madison.

2.3 Start-up Summary

The start-up expense for the Gaming Futures is focused primarily on equipment and office space. William, Diane, Marcus, Jillian, and Jeremy will each invest $35,000. In addition, Gaming Futures will secure a $100,000 long term loan.

Computer programming business plan, company summary chart image

Gaming Futures’ cohesive, talented development team offer their clients:

  • Game concepts and development for PC, PS2, Xbox, Pocket PC
  • Game platform ports: PC/PS2/Xbox/Game Boy

Market Analysis Summary how to do a market analysis for your business plan.">

According to a new report from DFC Intelligence, recent sales indicate that the video game market is poised for impressive growth. The report forecasts that annual unit sales of video games and PC games in the U.S. is expected to grow over 40% from 2001 to 2006. The successful introduction of four new game systems in 2000 and 2001 meant that the industry was able to avoid the major downturn in sales that has occurred in past platform transitions. According to DFC Intelligence, the industry should experience another year of record sales in 2002.

The interactive games industry is a major economic force. With an estimated global value of some $10 to $20 billion, the industry rivals Hollywood in revenues and is now recognized as a propulsive force behind the creation of markets for information and communication technologies. Games account for nearly one-third of consumer software sales in North America.

4.1 Target Market Segment Strategy

Not only was the video game market not slowed by a softening economy or the terrorist attacks, but 2001 turned out to be the best year ever for the U.S. video game industry. The total U.S. video game industry grew from $6.6 billion in 2000 to $9.4 billion in 2001. The previous all-time record was $6.9 billion in 1999.

DFC estimates that by 2006 the three leading games systems, the Sony PlayStation2, the Microsoft Xbox and the Nintendo GameCube, should have combined U.S. sales of over 60 million units. The report forecasts strong sales for all three systems. There are currently 3,000 gaming companies that are producing games for one or more of the leading gaming systems. While strong market growth is predicted, there are also many challenges facing the interactive entertainment industry.

Sales of the total U.S. interactive entertainment software market, which includes PC entertainment and video game software, approached $6 billion in 2001 versus $5.4 billion in 2000, DFC found. Console and portable software sales rose 8.3 percent in unit sales, compared to 2000, while PC entertainment software experienced a unit increase of 3.8 percent. The main challenge is that while unit sales are expected to rise rapidly, development and marketing costs are also soaring.

4.2 Service Business Analysis

Companies are combating development costs by outsourcing segments of the development project. Currently, it is estimated that 30% of project work is outsourced. There are a number of advantages to this strategy.

By outsourcing, companies can take advantage of a tremendous gaming experience base without paying the personnel price tag to retain the talent on payroll. By negotiating a price for the outsourcing, companies can also cap development cost. More importantly, as few larger companies compete in the marketplace for dominance, a number of service firms will emerge to fill the demand for quality developers that are necessary for specific projects, much like the rest of software industry. It is estimated that product development in the software industry can save upwards to 30% of development costs by outsourcing key elements of the development process.

4.2.1 Competition and Buying Patterns

Brought to you by

LivePlan Logo

Create a professional business plan

Using ai and step-by-step instructions.

Secure funding

Validate ideas

Build a strategy

Currently there are 100+ firms that compete for outsourcing contracts in the interactive game industry. Because of the unique cultural aspect of the interactive gaming community, companies specialize in gaming devices or user groups in order to gain advantage in the proposal process.

The team’s track record is the most important pivotal issue when competing for outsourcing contracts. A firm that has an intact team that has achieved past project goals has an advantage in the bidding process. Production companies are looking for assurances that deadlines will be met and the quality will be there. The production of a game is on a tight schedule and any missed deadline will ripple effect over the entire project, and could result in missed revenues and increased expenses.

Strategy and Implementation Summary

Gaming Futures’ developers, William Kerl and Diane Huber, have extensive connections throughout the gaming industry. They will be responsible for marketing the company’s services to potential customers.

5.1 Competitive Edge

The competitive advantage of Gaming Futures is always bringing in a project before the projected deadline. As noted in the Market Analysis Summary, one of the greatest challenges will be production costs. Nowhere is this more critical than with outsourced projects. If a company can produce by deadline, they will get more work.

5.2 Marketing Strategy

William Kerl and Diane Huber will approach the 120 production companies that are currently producing video games. A marketing CD has been created for these presentations.

William and Diane have begun the process of presenting their company’s services to gaming production companies. The team has created a presentation program that will be the centerpiece of the marketing program.

Currently, the company has been successful in acquiring three contracts with the following companies:

The company will continue to aggressively pursue new contracts.

5.3 Sales Strategy

Gaming Futures anticipates that sales will start during the third month. The first two months of operation will have flat sales. After that point, sales will increase.

5.3.1 Sales Forecast

The following is the sales forecast for three years. The owners have agreed not to take a salary for the first three months of the operation, and during this phase all five owners will be involved in sales.

Computer programming business plan, strategy and implementation summary chart image

5.4 Milestones

The accompanying table lists important program milestones, with dates and managers in charge, and budgets for each. The milestone schedule indicates our emphasis on planning for implementation.

What the table doesn’t show is the commitment behind it. Our business plan includes complete provisions for plan-vs.-actual analysis, and we will hold monthly follow-up meetings to discuss the variance and course corrections.

Computer programming business plan, strategy and implementation summary chart image

Personnel Plan

Gaming Futures staff is as follows:

Bill Kerl- Producer/New Business Starting out with games in 1993 programming on the 3DO, then programming and producing DreæmWhyrks games since 1995, Bill is driven to get things out. Planning for success is the most important part of any project.

Diane Huber – Lead Engineer Diane has been programming computers for over 25 years and has been making great games for the last 15 years, including DreæmWhyrks, Mighty Quinn, and Fire Mountain.

Marcus Hathcock- Programmer/GamePlay Marcus is a software engineer who has 5 years experience implementing interfaces and gameplay; most of this time was spent working on the DreæmWhyrks series at Axiomatic.

Jillian Daley- Senior Software Engineer With 11 years programming experience building games, tools, and technologies, she’s been involved in all aspects of several full 3D sims including Penthesilea and the DreæmWhyrks series.

Jeremy Lang- Software Engineer Jeremy has specialized in using artificial intelligence to simulate physical events. For the past six years Jeremy’s projects at Axiomatic have included the DreæmWhyrks series, Mighty Quinn, Fire Mountain, and Storm Warnings.

6.1 Management Team Gaps

Currently, the firm doesn’t have a corporate leader to manage the anticipated growth of the company during its third year of operation and beyond. As sales grow, the focus will be on production. The management of the company’s resources and decisions on how to effectively grow the firm will demand an individual with extensive management expertise as well as experience in the interactive gaming industry. This is critical vacancy will be addressed during the third year. The firm will hire a President to fill this role.

Financial Plan investor-ready personnel plan .">

The following is the financial plan for Gaming Futures. The various topic tables display annual figures for the first three years. Monthly figures for the first year are presented in the appendix.

7.1 Break-even Analysis

The following table and chart show our Break-even Analysis.

Computer programming business plan, financial plan chart image

7.2 Projected Profit and Loss

The following table and charts highlight the projected profit and loss for three years.

Computer programming business plan, financial plan chart image

7.3 Projected Cash Flow

The following table and chart highlights the projected cash flow for three years.

Computer programming business plan, financial plan chart image

7.4 Projected Balance Sheet

The following table highlights the projected balance sheet for three years.

7.5 Business Ratios

Business ratios for the years of this plan are shown below. Industry profile ratios based on the Standard Industrial Classification (SIC) code 7371, Computer Programming Services, are shown for comparison.

Garrett's Bike Shop

The quickest way to turn a business idea into a business plan

Fill-in-the-blanks and automatic financials make it easy.

No thanks, I prefer writing 40-page documents.

LivePlan pitch example

Discover the world’s #1 plan building software

computer science business plan

Search form

You are here, computer science & business (b.s.).

Lehigh's program in  Computer Science and Business  ( CSB ) is a joint initiative between the College of Business and Economics and the Department of Computer Science and Engineering in the P.C. Rossin College of Engineering and Applied Science.

  • Depth in curriculum: The program is the only one of its kind to be accredited in both computer science and in business. Students obtain the skills and training needed to understand business functions and business-related problems, to analyze business-user information needs, to design computer-based information systems and to implement systems solutions in business organizations.
  • Balance: The program requires CSB students to complete all the core courses required for a business degree and all the courses required for a B.S. in computer science. Students can select a concentration in any of several areas, such as finance, accounting, economics and various areas of computer science.
  • Meeting market demand: Companies have been very actively recruiting CSB graduates.

Required courses cover structured programming, operating systems, algorithms, computer architectures, programming languages, software engineering, networking, accounting, finance, marketing, management and economics.

Graduates are prepared to join large and small consulting firms and start-up companies, and are prepared to advance to senior management positions.

Questions? Please feel free to reach out to CSB Academic Advisor Andrea Goff at [email protected] or (610) 758-3413.

  • Current Course Offerings
  • Previous Schedules
  • Choosing the Right Program for You
  • Computer Science (B.S.)
  • Computer Science (B.A., B.S. in CAS)
  • B.S. Degree Requirements
  • Minor: Computer Science
  • Minor: Data Science
  • CSE Course Index
  • Capstone Projects
  • Accreditation

Computer Science & Business

4+1 ACCELERATED PROGRAMS

The 4+1 Bachelor’s to Master’s Accelerated Programs allow eligible undergraduates to leverage up to 12 credits taken during undergraduate studies toward a master’s degree. Often, students can complete the credits for a master’s in one additional year of study at Lehigh beyond their four-year degree. | LEARN MORE >>

  • Welcome to UC Santa Cruz
  • Introducing UC Santa Cruz
  • Academic Programs
  • Arts Division
  • Humanities Division
  • Physical and Biological Sciences Division

Applied Mathematics

  • Biomolecular Engineering
  • Computational Media
  • Computer Engineering B.S.

Computer Science B.S.

  • Computer Science B.A.
  • Network and Digital Technology B.A.
  • Computer Engineering Minor
  • Computer Science Minor
  • Computer Science and Engineering Contiguous Bachelor’s/Master’s Pathway: Computer Science and Engineering
  • Computer Science and Engineering M.S.
  • Computer Science and Engineering Ph.D.
  • Natural Language Processing M.S.
  • Human Language Media and Modeling Designated Emphasis
  • Computer Engineering BS Elective Course List
  • Computer Engineering BS Digital Hardware Concentration Grad-Level Course List
  • Network and Digital Technology Electives Course List
  • Electrical and Computer Engineering
  • Technology and Information Management
  • Social Sciences Division
  • The Colleges
  • Physical Education
  • Undergraduate Information
  • Graduate Information
  • Resources, Residency, and Policies
  • Teaching and Administrative Staff
  • Academic Calendar
  • Catalog Home
  • All Catalogs

2023-24 UCSC General Catalog > Academic Units > Baskin Engineering > Computer Science and Engineering > Computer Science B.S.

Information and Policies

Introduction.

The bachelor of science (B.S.) program is appropriate for students desiring a strong concentration in the core areas of computer science—algorithms, programming languages, and systems—with more courses in computer science, computer engineering, and computational media; this program also allows for a few electives outside of science and engineering.

Applications of computer science are found in many other areas of study, from art, music, and linguistics to social sciences, economics, business, digital, and social media, environmental and life sciences, and sciences. Thus, interdisciplinary activities are encouraged. For those students whose primary interest is in another area, a minor in computer science is offered.

Program Learning Outcomes

Recipients of a Bachelor of Science degree in Computer Science at the University of California, Santa Cruz, are expected to have the following skills and experiences:

  • Algorithms, data structures, and complexity
  • Programming languages
  • Software engineering and development
  • Computer systems
  • Apply system-level perspective by thinking at multiple levels of detail and abstraction and by recognizing the context in which a computer system may function, including its interactions with people and the physical world.
  • Apply problem-solving skills and the knowledge of computer science to solve real problems.
  • Understand how technological advances impact society and the social, legal, ethical and cultural ramifications of computer technology and their usage.
  • Write about and orally communicate technical material about computer science and computer systems, broadly conceived.

Academic Advising for the Program

The Baskin Engineering undergraduate advising office offers general advising for prospective and declared undergraduates majoring in Baskin Engineering programs. The office handles major declarations, transfer credits, course substitutions, articulations, and degree certifications. Undergraduate students obtain and submit all paperwork requiring departmental approval to the undergraduate advising office. Transfer students should also refer to the Transfer Information and Policy section.

Baskin Engineering Building, Room 225 [email protected] (831) 459-5840

Getting Started in the Major: Frosh

It is recommended that high school students intending to apply to the computer science major have completed four years of mathematics (through advanced algebra and trigonometry) and three years of science in high school. Comparable college mathematics and science courses completed at other institutions also serve to properly prepare a student for the computer science major.

This major is highly course intensive and sequential; students who intend to pursue this major must begin taking classes for the major in their first quarter at UC Santa Cruz. 

Math placement is required for one or more of the foundational courses for this major. For more information, please review the Math Placement website .

Transfer Information and Policy

Transfer students who want to pursue the computer science major, must have applied and been admitted to UC Santa Cruz as a proposed computer science major. 

Transfer Admission Screening Policy

Prior to admission, transfer students must have completed the following five courses or their articulated equivalents with a combined minimum GPA of 3.0.

Lecture-lab combinations count as one course.

This course

Plus this course, plus one of the following options, plus one of the following, minimum gpa.

The combined GPA in the five courses above must be at least a 3.0. A student lacking one of these five courses may be admitted if they have completed CSE 16 , and CSE 12 , or the articulated alternative.

Furthermore, transfer students entering in the fall must have completed at least three of these courses by the end of the fall term of the previous academic year and have a minimum 3.0 GPA over all completed CS major qualification courses at that time.

Transfer students are strongly recommended to complete CSE 16 as part of their screening courses, and to complete one course out of MATH 21 , AM 10 , MATH 23A or AM 30 , and most general education requirements prior to arriving at UC Santa Cruz.

Transfer students admitted for the winter term must satisfy the major preparation criteria for transfer students admitted for the fall term and, additionally, must have successfully completed at least two additional courses that are required for the proposed degree, prior to admission. It is highly recommended that these courses should be AM 10 (or MATH 21 ) and AM 30 (or MATH 23A ).

Most courses in the computer science program at UC Santa Cruz have a strong theoretical component to prepare the student for designing, as opposed to simply using, computer systems. Often, courses taken at other institutions which emphasize applications of current languages and computers do not count toward the computer science major at UCSC.

At UCSC, computer science students are first introduced to programming using the programming language Python. The core programming sequence—courses CSE 30 and CSE 13S —exposes students to both Python and C. Many upper-division courses that involve programming use the C and C++ programming languages.

Transfer students who are not familiar with both an object-oriented language and C may need to take a remedial course. Students familiar with C++ and Unix should find the transition to Python and C relatively simple.

Getting Started in the Major: Transfer Students

Transfer students should declare their major in their first quarter at UC Santa Cruz. Instructions for declaring a major in the Baskin School of Engineering are on the Baskin Engineering undergraduate advising  major declaration page .

Major Qualification Policy and Declaration Process

Major qualification.

Transfer students should refer to the Transfer Admission Screening requirements. 

For all students, it is necessary to be listed as a proposed computer science major within Baskin Engineering before being able to declare the major. Additionally, students must satisfy the following three criteria to qualify for the CS B.S. major:

Students must declare CS (Computer Science B.S. or Computer Science B.A.) as their major between student’s second to sixth quarter.

CS Major Qualification courses

Students must have completed the following CS major qualification courses to qualify for the CS BS major:

Complete these three courses

Cumulative gpa.

Students must also have a cumulative GPA of at least 3.0 in the CS major qualification courses attempted at UC Santa Cruz, with at most one unsuccessful attempt (grade C-, D+, D, D-, F, or NP) permitted in a CS major qualification course.

Appeal Process

Students who are informed that they do not qualify for the major may appeal this decision by submitting a letter to the undergraduate director through the Baskin Engineering undergraduate advising office within 15 days from the date the notification was mailed. Within 15 days of receipt of the appeal, the department will notify the student, college, and Office of the Registrar of the decision.

How to Declare a Major

Students interested in pursuing computer science must indicate computer science as a proposed major on their application for admission to UC Santa Cruz.  Students admitted to UCSC in fall 2018 or later will be able to declare a computer science major only if they have been admitted to UCSC as proposed computer science majors.

There are four steps to declaring a Baskin Engineering major. For a detailed guide to this process, please consult Baskin Engineering's Declare Your Major  website. 

Students should start the declaration of major process by completing Step One on the Baskin Engineering Declare Your Major website as soon as they complete the CS major qualification courses or reach their declaration deadline quarter, whichever comes first.

Students petitioning when the campus declaration deadline is imminent (i.e., in their sixth quarter, for students admitted as frosh), will either be approved, denied, or provided with conditions (e.g., completion of some courses with certain grades) that will be resolved within at most one more enrolled quarter, even if they have not completed all CS major qualification courses.

Letter Grade Policy

All students admitted to a Baskin Engineering major, or seeking admission to a major, must take all courses required for that major for a letter grade. This policy includes courses required for these degrees that are sponsored by other departments.

Course Substitution Policy

Undergraduate engineering students who wish to substitute a major course with a course from another department at UC Santa Cruz, or from another academic institution, must first seek approval through the Baskin Engineering Undergraduate Advising Office. The advising office requires a Petition for Course Substitution be approved before credit for an alternate course can be applied to any Baskin Engineering major requirement.

Petition forms are available at the Undergraduate Advising Office and online.

Petitions and procedures for approval must be obtained from and submitted to the Undergraduate Advising Office.

Community Colleges courses once enrolled at UCSC

Once enrolled in Baskin Engineering students who wish to take a course at a California community college must first check  Assist.org  to see if the course is equivalent at UC Santa Cruz. If the course is not listed on Assist.org, students must submit a course substitution petition to the BE Undergraduate Advising Office to have it reviewed for equivalency. Courses that need to be reviewed must be accompanied by a course description and syllabus. It is very helpful if students can provide further evidence of course content, such as examples of programming assignments, homework, or examinations. To guarantee equivalency, departments may sometimes require a grade of B or better.

If the course is approved for equivalency or was on Assist.org, then the student must also receive approval by their major department to take the class at the community college  PRIOR  to taking it. Forms and procedures for approval can be obtained from and submitted to the BE Undergraduate Advising Office.

Four-Year Institutions and the UC Education Abroad Program (UCEAP)

Students who intend to take a course at a four-year institution or UC Education Abroad, must submit a Course Substitution Petition to the BE Undergraduate Advising Office to have the course reviewed for equivalency. Courses that need to be reviewed must be accompanied by a course description and syllabus. It is very helpful if students can provide further evidence of course content, such as examples of programming assignments, homework, or examinations. To guarantee equivalency, departments may sometimes require a grade of B or better.

If the course is approved for equivalency, then the student must also receive approval by their major department PRIOR to taking the class. Forms and procedures for approval can be obtained from and submitted to the BE Undergraduate Advising Office.

Double Majors and Major/Minor Combinations Policy

Students may not receive both the Computer Science B.A. and Computer Science B.S. degrees.

Students may not receive both the Network and Digital Technology B.A. and the Computer Science B.S. degrees.

Students must obtain a GPA of 3.8 or higher in the courses in the major to be considered for the distinction of "Highest Honors in the Major." Students must obtain a GPA of 3.5 or higher in the courses in the major to be considered for the distinction of "Honors in the Major." Baskin Engineering reserves the right to withhold honors based on other criteria, such as an incident of academic dishonesty.

Requirements and Planners

Course requirements.

This program is designed for students who wish to maximize exposure to computer science concepts and methods by taking a large selection of upper-division computer science courses, as well as courses in the sciences and mathematics. A minimum of 20 courses must be completed for the B.S. in computer science.

Lower-Division Courses

Computer science and engineering, all of the following.

Students with no prior programming will take CSE 20 before CSE 30 , and CSE 12 . Students with a prior programming course, AP credit, or clearing the “ Test-out ” bar will start with CSE 30 , and CSE 12 . 

Plus the following

Mathematics.

Plus one of the following options:

One of these courses

Plus one of these courses, engineering science, upper-division courses.

The following courses:

One of the following:

Three courses must be completed from the list below . At least one course must be a computer science and engineering course. At most two courses can be from applied mathematics, statistics or mathematics, of which at most one may be substituted with two physics classes, chosen from the following list of class pairs: PHYS 6A and PHYS 6C , PHYS 6A and PHYS 6B , PHYS 5A and PHYS 5C , PHYS 5A and PHYS 5B . Any laboratories required or recommended by the Physics Department associated with these classes are not part of the computer science B.S. major requirements.

List of B.S. electives:

  • Any CSE course with a number between 100 and 189, except for the DC courses CSE 115A and CSE 185E /CSE 185S.
  • Or any course from the following list:

Disciplinary Communication (DC) Requirement

Students of every major must satisfy that major's upper-division Disciplinary Communication (DC) requirement.

The DC requirement in computer science B.S. is satisfied by completing an additional course from the following options.

Course CSE 195 may be used either as an elective, or to satisfy the DC requirement, but not for both.

Comprehensive Requirement

In addition to the above requirements, students must satisfy one of the following two exit requirements: pass one of the capstone courses (see Capstone Courses below); or successfully complete a senior thesis. A passed capstone course also counts toward satisfying the minimum number of upper-division electives requirement.

Capstone Courses

Students may choose from one of the following capstone courses to satisfy their exit requirement (lecture-lab combinations count as one course):

Students taking one of the capstone courses will enroll normally. Students need to pass the capstone course to pass the exit requirement. No course may be attempted more than twice without prior approval from the chair of the department offering the course. Withdrawals count as an attempted class for this purpose.

Senior Thesis

The senior thesis consists of a self-contained project within the broad scope of computer science, but one that is not available in the regular course offerings. A student wishing to complete a senior thesis must successfully complete a minimum of 5 credits in CSE 195 , Senior Thesis Research. The supervision of a senior thesis student is always at the discretion of the faculty member.

The student first submits a written thesis proposal and obtains approval of a faculty sponsor. Then the student submits a written draft and makes an oral presentation to a faculty examining committee. After receiving feedback from the examining committee, the student submits one or more additional drafts, until the final draft is approved by the examining committee. The total amount of writing shall be consistent with the campus Disciplinary Communication requirement. A passing grade in CSE 195 is earned when the final thesis is approved.

The tables below are for informational purposes and do not reflect all university, general education, and credit requirements. See  Undergraduate Graduation Requirements  for more information.

The following are three sample academic plans: (1) a four-year plan for the B.S. major for first-year students with programming experience; (2) an alternative first-year plan for students without programming experience; and (3) a two-year plan for the B.S. major for transfer students that have completed all general education requirements.

Students completing the courses in the planners will have satisfied the MF and SR general education requirement.

Four-Year Plan for Students with Programming Experience

* WRIT 2 should be taken in or before spring quarter of the second year.

First-Year Plan for Students Without Programming  Experience

Two-Year Degree Planner for Transfer Students

Note:  One elective must be drawn from the DC course list and one from the capstone course list. Also, the above plan assumes having taken one of MATH 21 , MATH 23A , or AMS 10 and most general education requirements prior to arriving at UC Santa Cruz as well as courses equivalent to CSE 16 and CSE 30 and CSE 13S ).

Curriculum charts for all Baskin Engineering majors are available on the Baskin Engineering Advising  Major Curriculum Charts page .

TEXAS CSB

What is Texas CSB?

Texas Honors Computer Science and Business (Texas CSB), a new integrated honors degree program between the Canfield Business Honors Program and the Department of Computer Science. Texas CSB provides a rigorous four-year undergraduate curriculum aimed at preparing students for top technology careers.

Students

Through the Program, you will...

Be part of a small cohort of like-minded honors-level students who are savvy in both business and tech.

Enjoy opportunities for specific internship and recruiting opportunities which combine business with technology at top companies.

Be challenged through coursework, which will give you a solid understanding of all business disciplines and computer science concepts.

University of California Irvine

  • Chancellor’s Message

Print Options

2023-24 edition, computer science, b.s..

The Computer Science major emphasizes the principles of computing that underlie our modern world, and provides a strong foundational education to prepare students for the broad spectrum of careers in computing. This major can serve as preparation for either graduate study or a career in industry. Students receive a solid background in low-level architecture and systems; middle-level infrastructure, algorithms, and mathematical foundations. This is a highly flexible degree that allows students to explore a broad range of topics in modern computing. In order to achieve some focus in their upper-division studies, students are required to satisfy the requirements for one of the nine specializations described below.

Algorithms. This specialization focuses on fundamental computational techniques, including their analysis and applications to topics in computer vision, computer games, graphics, artificial intelligence, and information retrieval. Topics include data structures, graph and network algorithms, computational geometry, probabilistic algorithms, complexity theory, and cryptography.

Architecture and Embedded Systems. This specialization integrates principles of embedded systems, software, hardware, computer architecture, distributed systems and networks, and prepares students to design and create efficient hardware/software architectures for emerging application areas. Students in this specialization will build upon a strong foundation in software and hardware and learn how to design networked embedded systems, and efficient computer architectures for a diverse set of application domains such as gaming, visualization, search, databases, transaction processing, data mining, and high-performance and scientific computing.

Bioinformatics. This specialization introduces students to the interdisciplinary intersection of biology and medicine with computer science and information technology. Students who complete the specialization will understand biomedical computing problems from the computer science perspectives, and be able to design and develop software that solves computational problems in biology and medicine.

General Computer Science . This specialization allows students to acquire a well-rounded knowledge of computer science that may be tailored to their individual interests. Students choose 11 upper-division computer science courses, including two project courses. This specialization will appeal to those who are interested in a broad education in computer science, or who wish to create their own unique specialization not found in the current list of (other) specializations under this major.

Information. This specialization is intended to prepare students for working with and developing a wide variety of modern data and information systems. Topics covered by this concentration include database management, information retrieval, Web search, data mining, and data-intensive computing.

Intelligent Systems. This specialization will introduce students to the principles underlying intelligent systems, including topics such as representing human knowledge, building automated reasoning systems, developing intelligent search techniques, and designing algorithms that adapt and learn from data. Students in this specialization will use these principles to solve problems across a variety of applications such as computer vision, information retrieval, data mining, automated recommender systems, bioinformatics, as well as individually designed projects.

Networked Systems. This specialization focuses on Internet architecture, Internet applications, and network security. It also encourages students to learn about operating systems, databases, search, programming, embedded systems, and performance.

Systems and Software. This specialization deals with principles and design of systems and software. It emphasizes the interaction between software and the computing infrastructure on which it runs and the performance impact of design decisions. Core topics include the hardware/software interface, languages and compilers, operating systems, parallel and distributed computing. Elective topics include networking, security, graphics, and databases.

Visual Computing. This specialization encompasses the digital capture, processing, synthesis and display of visual data such as images and video. This specialization includes computer vision, image processing, and graphics, and covers such topics as the representation of 3D objects, visual recognition of objects and people, interactive and photo-realistic image rendering, and physics and perception of light and color.

The Department also offers a joint undergraduate degree in Computer Science and Engineering, in conjunction with The Henry Samueli School of Engineering; information is available in the Interdisciplinary Studies section of the Catalogue.

Freshman Applicants: See the Undergraduate Admissions section .

Transfer Applicants:

Transfer applicants who satisfactorily complete course prerequisites will be given preference for admission. All applicants must complete the following required courses: one year of approved calculus, one year of object-oriented programing (python, java, C++), additional courses as specified by the major, and completion of lower-division writing. Students are encouraged to complete as many of the lower-division degree requirements as possible prior to transfer. Visit the UCI Office of Admissions website for information on transfer requirements for our major.

Major and Minor Restrictions

Bren School of ICS majors (including shared majors, BIM and CSE) pursuing minors within the Bren School of ICS may not count more than five courses toward both the major and minor.  Some ICS majors and minors outside of the School are not permitted due to significant overlap. Visit the ICS Student Affairs Office website for Majors and Minors restrictions.   All students should check the Double Major Restrictions Chart and view our information page on double majoring to see what degree programs are eligible for double majoring.

Requirements for the B.S. in Computer Science

All students must meet the university requirements ., major requirements.

Students must complete and pass both COMPSCI 180A and COMPSCI 180B for course credit.

1.  Students are advised that this sample program lists the minimum requirements; it is possible that students may have to take additional courses to prepare for required courses.

2.  The lower-division writing requirement must be completed by the end of the seventh quarter at UCI.

3.  This is only a sample plan. Course offerings may be moved due to unforeseen circumstances. It is strongly recommended that students meet with an academic advisor to create an academic plan tailored to meet their specific areas of interest.

  • Bioinformatics, Minor
  • Computer Science, M.S.
  • Computer Science, Ph.D.
  • Master of Computer Science

Send Page to Printer

Print this page.

Download Page (PDF)

The PDF will include all information unique to this page.

2023-2024 Catalogue

A PDF of the entire 2023-2024 catalogue.

Growthink logo white

IT Services Business Plan Template

Written by Dave Lavinsky

information technology business plan

IT Services Business Plan

Over the past 20+ years, we have helped over 500 entrepreneurs and business owners create business plans to start and grow their IT companies.

If you’re unfamiliar with creating an IT business plan, you may think creating one will be a time-consuming and frustrating process. For most entrepreneurs it is, but for you, it won’t be since we’re here to help. We have the experience, resources, and knowledge to help you create a great business plan.

In this article, you will learn some background information on why business planning is important. Then, you will learn how to write an IT business plan step-by-step so you can create your plan today.

Download our Ultimate Business Plan Template here >

What Is a Business Plan?

A business plan provides a snapshot of your IT business as it stands today, and lays out your growth plan for the next five years. It explains your business goals and your strategies for reaching them. It also includes market research to support your plans.

Why You Need a Business Plan

If you’re looking to start an IT business or grow your existing IT company, you need a business plan. A business plan will help you raise funding, if needed, and plan out the growth of your IT business to improve your chances of success. Your IT business plan is a living document that should be updated annually as your company grows and changes.

Sources of Funding for IT Businesses

With regards to funding, the main sources of funding for an IT business are personal savings, credit cards, bank loans, and angel investors. When it comes to bank loans, banks will want to review your business plan and gain confidence that you will be able to repay your loan and interest. To acquire this confidence, the loan officer will not only want to ensure that your financials are reasonable, but they will also want to see a professional plan. Such a plan will give them the confidence that you can successfully and professionally operate a business. Personal savings and bank loans are the most common funding paths for IT companies.

Finish Your Business Plan Today!

How to write a business plan for an it services business.

If you want to start an IT business or expand your current one, you need a business plan. The guide below details the necessary information for how to write each essential component of your IT business plan.

Executive Summary

Your executive summary provides an introduction to your business plan, but it is normally the last section you write because it provides a summary of each key section of your plan.

The goal of your executive summary is to quickly engage the reader. Explain to them the kind of IT business you are running and the status. For example, are you a startup, do you have an IT business that you would like to grow, or are you operating a chain of IT businesses?

Next, provide an overview of each of the subsequent sections of your plan.

  • Give a brief overview of the IT industry.
  • Discuss the type of IT business you are operating.
  • Detail your direct competitors. Give an overview of your target customers.
  • Provide a snapshot of your marketing strategy. Identify the key members of your team.
  • Offer an overview of your financial plan.

Company Overview

In your company overview, you will detail the type of IT business you are operating.

For example, you might specialize in one of the following types of IT businesses:

  • Computer repair: This type of IT business provides computer maintenance and repair services.
  • Computer training: This type of IT professional specializes in teaching others how to use computers as well as various software and computer programs.
  • IT support: This type of IT professional provides services for businesses such as setting up a network, backing up data, and systems management.
  • Cloud computing: This type of IT specialist helps individuals and businesses establish cloud platforms and tools, or may help to migrate their information to the cloud.

In addition to explaining the type of IT business you will operate, the company overview needs to provide background on the business.

Include answers to questions such as:

  • When and why did you start the business?
  • What milestones have you achieved to date? Milestones could include the number of new clients served, the number of repeat clients, reaching $X amount in revenue, etc.
  • Your legal business Are you incorporated as an S-Corp? An LLC? A sole proprietorship? Explain your legal structure here.

Industry Analysis

In your industry or market analysis, you need to provide an overview of the IT industry.

While this may seem unnecessary, it serves multiple purposes.

First, researching the IT industry educates you. It helps you understand the market in which you are operating.

Secondly, market research can improve your marketing strategy, particularly if your analysis identifies market trends.

The third reason is to prove to readers that you are an expert in your industry. By conducting the research and presenting it in your plan, you achieve just that.

The following questions should be answered in the industry analysis section of your IT business plan:

  • How big is the IT industry (in dollars)?
  • Is the market declining or increasing?
  • Who are the key competitors in the market?
  • Who are the key suppliers in the market?
  • What trends are affecting the industry?
  • What is the industry’s growth forecast over the next 5 – 10 years?
  • What is the relevant market size? That is, how big is the potential target market for your IT business? You can extrapolate such a figure by assessing the size of the market in the entire country and then applying that figure to your local population.

Customer Analysis

The customer analysis section of your IT business plan must detail the customers you serve and/or expect to serve.

The following are examples of customer segments: individuals, schools, families, and corporations.

As you can imagine, the customer segment(s) you choose will have a great impact on the type of IT business you operate. Clearly, individuals would respond to different marketing promotions than corporations, for example.

Try to break out your target customers in terms of their demographic and psychographic profiles. With regards to demographics, including a discussion of the ages, genders, locations, and income levels of the potential customers you seek to serve.

Psychographic profiles explain the wants and needs of your target customers. The more you can recognize and define these needs, the better you will do in attracting and retaining your customers.

Finish Your IT Business Plan in 1 Day!

Don’t you wish there was a faster, easier way to finish your business plan?

With Growthink’s Ultimate Business Plan Template you can finish your plan in just 8 hours or less!

Competitive Analysis

Your competitive analysis should identify the indirect and direct competitors your business faces and then focus on the latter.

Direct competitors are other IT businesses.

Indirect competitors are other options that customers have to purchase from that aren’t directly competing with your product or service. This includes other types of IT consultants, in-house IT support, or do-it-yourself IT tutorials. You need to mention such competition as well.

For each such competitor, provide an overview of their business and document their strengths and weaknesses. Unless you once worked at your competitors’ businesses, it will be impossible to know everything about them. But you should be able to find out key things about them such as

  • What types of customers do they serve?
  • What type of IT business are they?
  • What is their pricing (premium, low, etc.)?
  • What are they good at?
  • What are their weaknesses?

With regards to the last two questions, think about your answers from the customers’ perspective. And don’t be afraid to ask your competitors’ customers what they like most and least about them.

The final part of your competitive analysis section is to document your areas of competitive advantage. For example:

  • Will you make it easier for clients to acquire your product or service?
  • Will you offer products or services that your competition doesn’t?
  • Will you provide better customer service?
  • Will you offer better pricing?

Think about ways you will outperform your competition and document them in this section of your plan.

Marketing Plan

Traditionally, a marketing plan includes the four P’s: Product, Price, Place, and Promotion. For an IT business plan, your marketing strategy should include the following:

Product : In the product section, you should reiterate the type of IT company that you documented in your company overview. Then, detail the specific products or services you will be offering. For example, will you provide cloud computing, data center management, or network setup services?

Price : Document the prices you will offer and how they compare to your competitors. Essentially in the product and price sub-sections of your plan, you are presenting the products and/or services you offer and their prices.

Place : Place refers to the site of your IT company. Document where your company is situated and mention how the site will impact your success. For example, is your IT business located in a busy retail district, a business district, a standalone office, or purely online? Discuss how your site might be the ideal location for your customers.

Promotions : The final part of your IT marketing plan is where you will document how you will drive potential customers to your location(s). The following are some promotional methods you might consider:

  • Advertise in local papers, radio stations and/or magazines
  • Reach out to websites
  • Distribute flyers
  • Engage in email marketing
  • Advertise on social media platforms
  • Improve the SEO (search engine optimization) on your website for targeted keywords

Operations Plan

While the earlier sections of your business plan explained your goals, your operations plan describes how you will meet them. Your operations plan should have two distinct sections as follows.

Everyday short-term processes include all of the tasks involved in running your IT business, including answering calls, meeting with new clients, billing and collecting payments from clients, etc.

Long-term goals are the milestones you hope to achieve. These could include the dates when you expect to acquire your Xth client, or when you hope to reach $X in revenue. It could also be when you expect to expand your IT business to a new city.

Management Team

To demonstrate your IT business’ potential to succeed, a strong management team is essential. Highlight your key players’ backgrounds, emphasizing those skills and experiences that prove their ability to grow a company.

Ideally, you and/or your team members have direct experience in managing IT businesses. If so, highlight this experience and expertise. But also highlight any experience that you think will help your business succeed.

If your team is lacking, consider assembling an advisory board. An advisory board would include 2 to 8 individuals who would act as mentors to your business. They would help answer questions and provide strategic guidance. If needed, look for advisory board members with experience in managing an IT business or successfully running a small IT consulting service.

Financial Plan

Your financial plan should include your 5-year financial statement broken out both monthly or quarterly for the first year and then annually. Your financial statements include your income statement, balance sheet, and cash flow statements.

Income Statement

An income statement is more commonly called a Profit and Loss statement or P&L. It shows your revenue and then subtracts your costs to show whether you turned a profit or not.

In developing your income statement, you need to devise assumptions. For example, will you charge your clients an hourly rate of $250 per hour, and will you work 5 hours per day? And will sales grow by 2% or 10% per year? As you can imagine, your choice of assumptions will greatly impact the financial forecasts for your business. As much as possible, conduct research to try to root your assumptions in reality.

Balance Sheets

Balance sheets show your assets and liabilities. While balance sheets can include much information, try to simplify them to the key items you need to know about. For instance, if you spend $50,000 on building out your IT business, this will not give you immediate profits. Rather it is an asset that will hopefully help you generate profits for years to come. Likewise, if a lender writes you a check for $50,000, you don’t need to pay it back immediately. Rather, that is a liability you will pay back over time.

Cash Flow Statement

Your cash flow statement will help determine how much money you need to start or grow your business, and ensure you never run out of money. What most entrepreneurs and business owners don’t realize is that you can turn a profit but run out of money and go bankrupt.

When creating your Income Statement and Balance Sheets be sure to include several of the key costs needed in starting or growing an IT business:

  • Cost of equipment and office supplies
  • Payroll or salaries paid to staff
  • Business insurance
  • Other start-up expenses (if you’re a new business) like legal expenses, permits, computer software, and equipment

Attach your full financial projections in the appendix of your plan along with any supporting documents that make your plan more compelling. For example, you might include your office location lease or a list of your IT credentials.

Writing a business plan for your IT business is a worthwhile endeavor. If you follow the template above, by the time you are done, you will truly be an expert on IT business planning. You will understand the IT industry, your competition, and your customers. You will develop a marketing strategy and will understand what it takes to launch and grow a successful IT business.

IT Business Plan FAQs

What is the easiest way to complete my it services business plan.

Growthink's Ultimate Business Plan Template allows you to quickly and easily write your IT services business plan.

How Do You Start an IT Services Business?

Starting an IT business is easy with these 14 steps:

  • Choose the Name for Your IT Business
  • Create Your IT Business Plan
  • Choose the Legal Structure for Your IT Business
  • Secure Startup Funding for Your IT Business (If Needed)
  • Secure a Location for Your Business
  • Register Your [Sector] Business with the IRS
  • Open a Business Bank Account
  • Get a Business Credit Card
  • Get the Required Business Licenses and Permits
  • Get Business Insurance for Your IT Business
  • Buy or Lease the Right IT Business Equipment
  • Develop Your IT Business Marketing Materials
  • Purchase and Setup the Software Needed to Run Your IT Business
  • Open for Business

Don’t you wish there was a faster, easier way to finish your IT business plan?

OR, Let Us Develop Your Plan For You

Since 1999, Growthink has developed business plans for thousands of companies who have gone on to achieve tremendous success.   Click here to see how Growthink’s business plan services can give you a winning business plan.  

Other Helpful Business Plan Articles & Templates

Business Plan Template For Small Businesses & Entrepreneurs

University of Wisconsin Platteville

Cs + business, b.s., four-year plan.

Below is a sample degree plan that can be used as a guide to identify courses required to fulfill the major and other requirements needed for degree completion. The following is only an example and represents a possible course sequence for first-year students entering UW-Platteville in the fall term.  The major requirements do not add up to the 120 credits needed for graduation.  See your advisor for additional guidance.  A student's actual degree plan may differ depending on the course of study selected (emphasis, second major, minor, etc.), placement scores, and incoming credits (transfer, AP, etc.).  Students should consult their program advisor(s) to ensure that they have the most accurate and up-to-date information available about a particular four-year degree option.

This sample plan assumes readiness for each course and/or major plan.  Some courses may not be offered every term.  All courses may not be available at all campuses and/or in all formats.

Students should use the Academic Advisement Report (AAR) in PASS and work closely with their advisor(s) to ensure completion of all requirements in a timely manner.

Print Options

View/Print PDF of this page

The PDF will include all information unique to this page.

Print the 2023-2024 Undergraduate Catalog

Print the 2023-2024 Graduate Catalog

The catalog links above will become live when the full PDFs are available. To request the printing of multiple pages or the full catalog, please contact the Registrar's Office at 608.342.1321 or email [email protected] for additional information. A printing fee will apply.

  • Skip to Content
  • Catalog Home
  • Computer Sciences, B.S.

""

Our graduates discover that computer science (CS) opens up a world of possibilities. 

Computer scientists enjoy exceptional career opportunities , in settings ranging from large, established companies to adventurous new start-ups. They are also well qualified to pursue graduate study in a number of fields.

Our students are creative, analytical problem-solvers . This is a rich, collaborative and varied field that you will find challenging, no matter where your individual interests lie.

And there is more to CS than programming. While software engineering is an important skill, computer scientists also work with robots and other physical devices, design hardware that runs faster and more efficiently, and apply machine learning techniques to gain insight from large data sets—to name just a few examples.

Because CS has become highly interconnected with medicine, business and many other fields , it is a great fit with other interests you may have. You will enjoy a strong career outlook while having an impact on society .

DECLARATION REQUIREMENTS

To declare the computer sciences major, students must meet the following requirements 1 :

  • Completion of COMP SCI 300 and either MATH 222 or MATH 276
  • Grade of BC or higher in one of these introductory programming courses, taken at UW-Madison: COMP SCI 300 , COMP SCI/​E C E  354 or COMP SCI 400
  • 2.250 GPA or higher among the first completed attempts of these courses:  COMP SCI 300  and either MATH 222 or MATH 276

 For purposes of computer sciences major declaration requirements, GPA is calculated with UW-Madison courses only and does include the first attempt of all eligible major declaration coursework completed at time of submitting major declaration request.  Repeated coursework is not included.

If a student needs additional coursework to meet the 2.250 GPA requirement, COMP SCI/​MATH  240 , COMP SCI/​E C E  354 , and/or COMP SCI 400 Programming III may also be used. 

Students having difficulties meeting the above requirements should schedule a meeting with a computer sciences advisor.

For instructions on declaring the major, see the  Department of Computer Sciences website .

University General Education Requirements

College of letters & science degree requirements: bachelor of science (b.s.), requirements for the major, residence and quality of work, honors in the major.

All undergraduate students at the University of Wisconsin–Madison are required to fulfill a minimum set of common university general education requirements to ensure that every graduate acquires the essential core of an undergraduate education. This core establishes a foundation for living a productive life, being a citizen of the world, appreciating aesthetic values, and engaging in lifelong learning in a continually changing world. Various schools and colleges will have requirements in addition to the requirements listed below. Consult your advisor for assistance, as needed. For additional information, see the university Undergraduate General Education Requirements section of the Guide .

Students pursuing a Bachelor of Science degree in the College of Letters & Science must complete all of the requirements below. The College of Letters & Science allows this major to be paired with either the Bachelor of Arts or the Bachelor of Science degree requirements.

Bachelor of Science DEGREE REQUIREMENTS

Non–l&s students pursuing an l&s major.

Non–L&S students who have permission from their school/college to pursue an additional major within L&S only need to fulfill the major requirements. They do not need to complete the L&S Degree Requirements above.

 BASIC COMPUTER SCIENCES

 basic calculus, additional mathematics (beyond calculus).

MATH 375 Topics in Multi-Variable Calculus and Linear Algebra will not meet the requirement if a student already has credit for MATH 234 Calculus--Functions of Several Variables , MATH 320 Linear Algebra and Differential Equations or MATH 340 Elementary Matrix and Linear Algebra .  

Advanced Computer Science Courses

 theory of computer science,  software & hardware,  applications.

In every case, a course used toward one requirement may not be used again toward another requirement.  For example, if  COMP SCI 412 is applied to the ADDITIONAL MATH (BEYOND CALCULUS) requirement, it cannot also apply to the APPLICATIONS requirement.  

  • 2.000 GPA in all COMP SCI courses and courses counting toward the major
  • 2.000 GPA on 15 upper-level credits, taken in residence 3
  • 15 credits in COMP SCI, taken on campus

 COMP SCI courses numbered 400 through 699 count as Upper Level.

Students may declare Honors in the Computer Sciences Major in consultation with the Computer Sciences undergraduate coordinator(s).  To earn Honors in the Major in Computer Sciences, students must satisfy both the requirements for the major (above) and the following additional requirements:

  • Earn a minimum 3.300 University GPA
  • Earn a minimum 3.500 GPA for all COMP SCI and major courses
  • Complete one COMP SCI course numbered 500 through 699, taken for Honors with a grade of B or higher
  • Complete  COMP SCI 681  and  COMP SCI 682  for a total of 6 credits. 4

Senior Honors Thesis proposal must be approved by both the thesis/project advisor and the department undergraduate coordinator before enrollment in  COMP SCI 681 . A final thesis or project must be completed before a final grade for  COMP SCI 682  can be awarded.

  • Recognize and apply the core principles of Computing (abstractions and algorithms) to solve real-world problems.
  • Describe and apply the theoretical foundations of Computer Science (e.g., complexity analysis) in practical settings.
  • Demonstrate knowledge of key elements of computer systems, e.g., hardware, operating systems, networks.
  • Use fundamental and detailed knowledge, skills, and tools (e.g., specific algorithms, techniques methods, etc.) of computer science and develop the ability to acquire new knowledge, skills, and tools.
  • Design, implement, and evaluate software in multiple programming paradigms and languages.
  • Develop a substantial piece of software, and recognize the challenges of designing and developing software.
  • Exhibit technical (designing, implementing, and testing) and teamwork (communication, collaboration, and professional practice) skills in order to develop solutions as a computer science practitioner.
  • Can solve problems by applying a broad toolbox of knowledge and techniques.

Sample Four-Year Plan

This Sample Four-Year Plan is a tool to assist students and their advisor(s). Students should use it—along with their DARS report, the Degree Planner, and Course Search & Enroll tools—to make their own four-year plan based on their placement scores, credit for transferred courses and approved examinations, and individual interests. As students become involved in athletics, honors, research, student organizations, study abroad, volunteer experiences, and/or work, they might adjust the order of their courses to accommodate these experiences. Students will likely revise their own four-year plan several times during college.

The undergraduate coordinators in the Department of Computer Sciences are ready to help students with questions about the major, L&S degree requirements and policy, and course selection. Information on academic advising for students interested or declared in the computer sciences major is posted to the Computer Sciences advising page . 

Demand for those with a computer sciences education is exceptionally strong. According to figures from the U.S. Bureau of Labor Statistics, the vast majority of growth in STEM (science, technology, engineering, and math) occupations through 2020 will occur within computing fields.

Computer sciences majors are encouraged to begin working on their career exploration and preparation soon after arriving on campus to explore different career paths, participate in co-ops or summer internships, prepare for the job search and/or graduate school applications, and network with professionals in the field.

Department of Computer Sciences: the department hosts one major career fair per year, in the fall, as well as other opportunities to connect with employers, such as technical talks and information sessions.

SuccessWorks at the College of Letters & Science: SuccessWorks offers two major career fairs per year, assists with resume writing and interviewing skills, and offers individual career advising appointments for L&S students.

Engineering Career Services (ECS):   ECS offers two major career fairs per year, assists with resume writing and interviewing skills, and hosts workshops on the job search. 

L&S career resources

Every L&S major opens a world of possibilities.  SuccessWorks at the College of Letters & Science helps students turn the academic skills learned in their major, certificates, and other coursework into fulfilling lives after graduation, whether that means jobs, public service, graduate school or other career pursuits.

In addition to providing basic support like resume reviews and interview practice, SuccessWorks offers ways to explore interests and build career skills from their very first semester/term at UW all the way through graduation and beyond.

Students can explore careers in one-on-one advising, try out different career paths, complete internships, prepare for the job search and/or graduate school applications, and connect with supportive alumni and even employers in the fields that inspire them.

  • SuccessWorks
  • Set up a career advising appointment
  • INTER-LS 210 L&S Career Development: Taking Initiative (1 credit)
  • INTER-LS 215 Communicating About Careers (3 credits, fulfills Comm B General Education Requirement)
  • INTER-LS 260 Internship in the Liberal Arts and Sciences
  • Activate your Handshake account to apply for jobs and internships from 200,000+ employers recruiting UW-Madison students
  • Learn about the impact SuccessWorks has on students' lives

Visit the CS website to view our department  faculty  and  staff .

Visit Scholarships@UW-Madison to find UW–Madison scholarships and apply online.

Visit the scholarships page on the Department of Computer Sciences website for a compendium of opportunities available to students studying computer sciences.

  • How to Get in
  • Requirements
  • Learning Outcomes
  • Four-Year Plan
  • Advising and Careers
  • Resources and Scholarships

Contact Information

Computer Sciences College of Letters & Science Computer Science, B.S. http://cs.wisc.edu

Computer Sciences Undergraduate Advising [email protected] Room 4298 Computer Sciences Building, 1210 West Dayton Street, Madison, WI 53706 https://www.cs.wisc.edu/undergraduate/undergraduate-advisors/

  • /​pdf/​
  • Explore Graduate Opportunities
  • Explore UW-​Madison's Undergraduate Opportunities
  • Graduate Guide
  • Nondegree/​Visiting Student Guide
  • Pharmacy Guide
  • School of Medicine and Public Health Guide
  • College of Agricultural and Life Sciences
  • College of Engineering
  • African American Studies
  • African Cultural Studies
  • American Indian and Indigenous Studies Program
  • Anthropology
  • Art History
  • Asian American Studies Program
  • Asian Languages and Cultures
  • Atmospheric and Oceanic Sciences
  • Biology Core Curriculum
  • Center for Law, Society, and Justice
  • Chicana/​o and Latina/​o Studies
  • Classical and Ancient Near Eastern Studies
  • Communication Arts
  • Communication Sciences and Disorders
  • Computer Sciences, B.A.
  • Computer Sciences, Certificate
  • Environmental Studies
  • French and Italian
  • Gender and Women's Studies
  • German, Nordic, and Slavic
  • Information
  • Institute for Regional and International Studies
  • Integrated Liberal Studies
  • Integrative Biology
  • La Follette School of Public Affairs
  • Language Sciences
  • Letters &​ Science -​ College-​Wide
  • Mathematics
  • Mead Witter School of Music
  • Mosse/​Weinstein Center for Jewish Studies
  • Planning and Landscape Architecture
  • Political Science
  • Religious Studies
  • Sandra Rosenbaum School of Social Work
  • School of Journalism and Mass Communication
  • Spanish and Portuguese
  • Gaylord Nelson Institute for Environmental Studies
  • School of Business
  • School of Education
  • School of Human Ecology
  • School of Nursing
  • School of Pharmacy
  • Veterinary Guide
  • Skip to Content
  • Berkeley Academic Guide Home
  • Institution Home

Berkeley Berkeley Academic Guide: Academic Guide 2023-24

Computer Science

University of California, Berkeley

About the Program

Choosing a computer science path.

There are two ways to study Computer Science (CS) at UC Berkeley:

  • Be admitted to the Electrical Engineering & Computer Sciences (EECS) major in the College of Engineering (COE) as a freshman. Admission to the COE, however, is extremely competitive. This option leads to a Bachelor of Science (BS) degree. This path is appropriate for people who want an engineering education.
  • Select the Computer Science major in the College of Letters & Science (L&S) on the UC Berkeley application. Once admitted to UC Berkeley, students may petition to be admitted to the L&S Computer Science major after successful completion of the prerequisite courses to declare and if they are in good academic standing. More information may be found here. This path is appropriate for people who are interested in a broader education in the sciences and arts (such as double majoring in other L&S fields), and/or are not sure at the time of application that they can gain admission to EECS. This option leads to a Bachelor of Arts (BA) degree.

There is no difference in the CS course content between the BS and BA programs. The difference is in what else you take: mainly engineering, or mainly humanities and social sciences. In particular, an interest in hardware suggests the EECS route; an interest in double majoring (for example, in math or cognitive science) suggests the L&S route.

Bachelor of Science (BS) in Computer Science

For information regarding the BS degree, please see the  Electrical Engineering and Computer Sciences program  information in this Guide. 

Bachelor of Arts (BA) in Computer Science

This CS major is for students enrolled in the College of Letters & Science ( L&S ). Berkeley emphasizes the science of computer science, which means much more than just computer programming. It includes the theory of computation, the design and analysis of algorithms, the architecture and logic design of computers, programming languages, compilers, operating systems, scientific computation, computer graphics, databases, artificial intelligence, and natural language processing. Our goal is to prepare students both for a possible research career and long-term technical leadership in industry. We must therefore look beyond today's technology and give students the primary ideas and the learning skills that will prepare them to teach themselves about tomorrow's technology.

Declaring the Major (BA only)

Students who selected Computer Science on their UC Berkeley application must complete the prerequisite courses and be in good academic standing in order to declare the Computer Science major. Information on this GPA and the process to petition for admission to the major can be found on the Petitioning to the Computer Science Major website.

Transfer students must select the Computer Science major on their application to UC Berkeley in order to be considered for this major. Transfer students admitted to UC Berkeley who chose Computer Science on their application will be directly admitted to Computer Science. More information may be found here. Questions may be directed to the CS advising office, 349 Soda Hall, 510-664-4436, or via email at [email protected]

Five-Year BS/MS Program

This program is geared toward students who would like to pursue an education beyond the BS/BA, allowing them to achieve greater breadth and/or depth of knowledge, and who would like to try their hand at research as well. For information, please see the Five-Year BS/MS Requirements tab on this page. 

Honors Program

Computer Science majors with an overall GPA of 3.70 or above are eligible to apply to the EECS honors degree program.

Minor Program

A minor in Computer Science is available to all undergraduate students at Berkeley with a declared major, with the exception of EECS majors. For information regarding minor requirements, please see the Minor Requirements tab on this page.

Visit Department Website

Major Requirements (BA)

In addition to the University, campus, and college requirements, listed on the College Requirements tab, students must fulfill the below requirements specific to their major program.

General Guidelines

  • All courses taken to fulfill the major requirements below must be 3 or more units and taken for a letter grade.

All courses for the major must be technical in nature. Courses numbered 199, 198, 197, 196, 195, plus select 194, 191, 190, and various seminars do not count. If you are unsure, please check with the CS advisers ( [email protected] ).

  • Only  one upper division course may be used to simultaneously fulfill requirements for a student's major and minor programs.  No more than two upper division courses can overlap between two majors.
  • A minimum grade point average (GPA) of 2.0 must be maintained in both upper and lower division courses used to fulfill the major requirements.

For information regarding residence requirements and unit requirements, please see the College Requirements tab.

Lower Division Requirement

Upper division requirements, approved non-computer science technical electives, five-year bs/ms.

This program is geared toward students who would like to pursue an education beyond the BS/BA, allowing them to achieve greater breadth and/or depth of knowledge, and who would like to try their hand at research as well. It is not intended for students who have definitely decided to pursue a PhD immediately following graduation. Those students are advised to apply for a PhD program at Berkeley or elsewhere during their senior year. Students who have been accepted into the Five-Year BA/MS or BS/MS are free to change their minds later and apply to enter the PhD program or apply to a PhD program at another university. Note that admission is competitive with all our PhD applicants.

The program is focused on interdisciplinary training at a graduate level; with at least 8 units of course work outside EECS required. Students will emerge as leaders in their technical and professional fields.

  • Focused on interdisciplinary study and more experience in aligned technical fields such as physics, materials science, statistics, biology, etc., and/or professional disciplines such as management of technology, business, law, and public policy.
  • If admitted to the program, students must begin the graduate portion in the semester immediately following the conferral of the bachelor's degree.
  • Only one additional year (two semesters) beyond the bachelor's degree.
  • Only available to Berkeley EECS and L&S CS undergraduates.
  • Participants in the program may serve as graduate student instructors (GSIs) with approval from their faculty research advisor and the Five-Year MS Committee.
  • Participants in the program are self-funded.

For further information regarding this program, please see the  department's website

Minor Requirements

Students who have a strong interest in an area of study outside their major often decide to complete a minor program. These programs have set requirements and are noted officially on the diploma and the awards section of the transcript.

All minors must be declared before the first day of classes in your Expected Graduation Term (EGT). For summer graduates, minors must be declared prior to the first day of Summer Session A. 

All upper-division courses must be taken for a letter grade. 

A minimum of three of the upper-division courses taken to fulfill the minor requirements must be completed at UC Berkeley.

A minimum grade point average (GPA) of 2.0 is required in the upper-division courses to fulfill the minor requirements.

Courses used to fulfill the minor requirements may be applied toward the Seven-Course Breadth requirement, for Letters & Science students.

No more than one upper division course may be used to simultaneously fulfill requirements for a student's major and minor programs.

All minor requirements must be completed prior to the last day of finals during the semester in which the student plans to graduate. If students cannot finish all courses required for the minor by that time, they should see a College of Letters & Science adviser.

All minor requirements must be completed within the unit ceiling. (For further information regarding the unit ceiling, please see the College Requirements tab.)

Requirements

College requirements.

Undergraduate students must fulfill the following requirements in addition to those required by their major program.

For detailed lists of courses that fulfill college requirements, please review the  College of Letters & Sciences  page in this Guide. For College advising appointments, please visit the L&S Advising Pages. 

University of California Requirements

Entry Level Writing

All students who will enter the University of California as freshmen must demonstrate their command of the English language by fulfilling the Entry Level Writing requirement. Fulfillment of this requirement is also a prerequisite to enrollment in all reading and composition courses at UC Berkeley. 

American History and American Institutions

The American History and Institutions requirements are based on the principle that a US resident graduated from an American university, should have an understanding of the history and governmental institutions of the United States.

Berkeley Campus Requirement

American Cultures

All undergraduate students at Cal need to take and pass this course in order to graduate. The requirement offers an exciting intellectual environment centered on the study of race, ethnicity and culture of the United States. AC courses offer students opportunities to be part of research-led, highly accomplished teaching environments, grappling with the complexity of American Culture.

College of Letters & Science Essential Skills Requirements

Quantitative reasoning.

The Quantitative Reasoning requirement is designed to ensure that students graduate with basic understanding and competency in math, statistics, or computer science. The requirement may be satisfied by exam or by taking an approved course.

Foreign Language

The Foreign Language requirement may be satisfied by demonstrating proficiency in reading comprehension, writing, and conversation in a foreign language equivalent to the second semester college level, either by passing an exam or by completing approved course work.

Reading and Composit ion

In order to provide a solid foundation in reading, writing, and critical thinking the College requires two semesters of lower division work in composition in sequence. Students must complete parts A & B reading and composition courses in sequential order by the end of their fourth semester.

College of Letters & Science 7 Course Breadth Requirements

Breadth requirements.

The undergraduate breadth requirements provide Berkeley students with a rich and varied educational experience outside of their major program. As the foundation of a liberal arts education, breadth courses give students a view into the intellectual life of the University while introducing them to a multitude of perspectives and approaches to research and scholarship. Engaging students in new disciplines and with peers from other majors, the breadth experience strengthens interdisciplinary connections and context that prepares Berkeley graduates to understand and solve the complex issues of their day.

Unit Requirements

120 total units

Of the 120 units, 36 must be upper division units

  • Of the 36 upper division units, 6 must be taken in courses offered outside your major department

Residence Requirements

For units to be considered in "residence," you must be registered in courses on the Berkeley campus as a student in the College of Letters & Science. Most students automatically fulfill the residence requirement by attending classes here for four years, or two years for transfer students. In general, there is no need to be concerned about this requirement, unless you go abroad for a semester or year or want to take courses at another institution or through UC Extension during your senior year. In these cases, you should make an appointment to meet an adviser to determine how you can meet the Senior Residence Requirement.

Note: Courses taken through UC Extension do not count toward residence.

Senior Residence Requirement

After you become a senior (with 90 semester units earned toward your BA degree), you must complete at least 24 of the remaining 30 units in residence in at least two semesters. To count as residence, a semester must consist of at least 6 passed units. Intercampus Visitor, EAP, and UC Berkeley-Washington Program (UCDC) units are excluded.

You may use a Berkeley Summer Session to satisfy one semester of the Senior Residence requirement, provided that you successfully complete 6 units of course work in the Summer Session and that you have been enrolled previously in the college.

Modified Senior Residence Requirement

Participants in the UC Education Abroad Program (EAP), Berkeley Summer Abroad, or the UC Berkeley Washington Program (UCDC) may meet a Modified Senior Residence requirement by completing 24 (excluding EAP) of their final 60 semester units in residence. At least 12 of these 24 units must be completed after you have completed 90 units.

Upper Division Residence Requirement

You must complete in residence a minimum of 18 units of upper division courses (excluding UCEAP units), 12 of which must satisfy the requirements for your major.

UC and Campus Requirements

All students who will enter the University of California as freshmen must demonstrate their command of the English language by satisfying the Entry Level Writing Requirement (ELWR).  The  UC Entry Level Writing Requirement website  provides information on how to satisfy the requirement.

The American History and Institutions (AH&I) requirements are based on the principle that a US resident graduated from an American university should have an understanding of the history and governmental institutions of the United States.

Campus Requirement

The American Cultures requirement is a Berkeley campus requirement, one that all undergraduate students at Berkeley need to pass in order to graduate. You satisfy the requirement by passing, with a grade not lower than C- or P, an American Cultures course. You may take an American Cultures course any time during your undergraduate career at Berkeley. The requirement was instituted in 1991 to introduce students to the diverse cultures of the United States through a comparative framework. Courses are offered in more than fifty departments in many different disciplines at both the lower and upper division level.

Plan of Study (BA)

For more detailed information regarding the courses listed below (e.g., elective information, GPA requirements, etc.,), please see the Major Requirements tab.

Course Definitions

Upper Division major CS major course: course meeting the 20 units of upper division CS requirement (at least one of these must be a Design Course).

Upper Division major technical elective: course meeting the 4 units of non-CS technical electives requirement.

This is a sample program plan. This plan assumes that the student has completed the Entry Level Writing, American History and Institutions, Quantitative Reasoning, and Foreign Language requirements prior to admission.

Students are strongly advised to work with an academic adviser to determine a personal program plan. Your program plan will differ depending on previous credit received, your course schedule, and available offerings.

COMPSCI 152 , COMPSCI 162 , COMPSCI 164 , COMPSCI 169 , COMPSCI 170 ,  COMPSCI 184 , and EECS 151 are known to have heavy workloads. It is not recommended to take these courses in combination.

Students are strongly advised to work with an academic adviser to determine a personal program plan. Your program plan will differ depending on previous credit received, your course schedule, and available offerings. Current students may make an appointment with a Computer Science Advisor in CalCentral; prospective students may make an appointment at https://berkeleycs.youcanbook.me/.

Accelerated Program Plans

For students considering graduating in less than four years, it's important to acknowledge the reasons to undertake such a plan of study. While there are advantages to pursuing a three-year degree plan such as reducing financial burdens, they are not for everyone and do involve sacrifices; especially with respect to participating in co-curricular activities, depth of study,  and summer internships, which typically lead to jobs upon graduation. All things considered, please see the tables for three and three and a half year degree options.

3.5 and 3 Year Plans

Plan of Study (BS)

For more detailed information regarding the courses listed below (e.g., elective information, GPA requirements, etc.), please see the Major Requirements tab.

Students must complete one course from the following list: ASTRON 7A ,  ASTRON 7B , BIOLOGY 1A and BIOLOGY 1AL (must take both), BIOLOGY 1B ,  CHEM 1A and CHEM 1AL (must take both), CHEM 1B , CHEM 3A and CHEM 3AL (must take both), CHEM 3B and CHEM 3BL (must take both), CHEM 4A ,  CHEM 4B , MCELLBI 32 and MCELLBI 32L (must take both), PHYSICS 7C , or an upper-division course of 3 units or more in astronomy, biology, chemistry, earth and planetary science, integrative biology, molecular cell biology, physics, or plant & microbial biology. This requirement is listed in the freshman year curriculum, but many of the options would not be appropriate for a first year student. Complete this requirement in the semester when it is most appropriate to do so (i.e., take PHYSICS 7C after completing PHYSICS 7B ). Your ESS or faculty adviser can help guide your selection on this requirement.

Students must complete a minimum of 20 units of upper division EECS courses. One course must provide a major design experience, and be selected from the following list: EECS 149 ,   EL ENG C128 , EL ENG 130 , EL ENG 140 , EL ENG 143 , EL ENG 192 ,  COMPSCI 160 , COMPSCI 162 , COMPSCI 164 , COMPSCI 169 , COMPSCI 184 , COMPSCI 186 , EECS 151 and EECS 151LA (must take both), EECS 151 and EECS 151LB (must take both).

Students must complete one course about engineering ethics or social implications of technology. This may be fulfilled by completing one of the following courses: BIO ENG 100 *, COMPSCI 195 ,  COMPSCI H195 , ENE,RES C100 *, ENGIN 125 *, ENGIN 157AC *, IAS 157AC *, ISF 100D *. Courses marked with an asterisk fulfill both a humanities/social science requirement and the EECS ethics/social implication of technology requirement.

Students must complete a minimum of 45 units of engineering coursework. The 45 units of engineering courses cannot include:

  • Any course taken on a  Pass/No Pass  basis
  • Courses numbered 24, 39, or 84
  • Any of the following courses:  BIO ENG 100 , COMPSCI C79 , COMPSCI 195 ,  COMPSCI H195 , DES INV 90 , DES INV 190 , ENGIN 125 , ENGIN 157AC , IND ENG 95 ,  IND ENG 172 , IND ENG 185 ,  IND ENG 186 , IND ENG 190 series,  IND ENG 191 ,   IND ENG 192 , IND ENG 195 , and  MEC ENG 191K

Student Learning Goals

  • Preparing graduates to pursue postgraduate education in electrical engineering, computer science, or related fields.
  • Preparing graduates for success in technical careers related to electrical and computer engineering, or computer science and engineering.
  • Preparing graduates to become leaders in fields related to electrical and computer engineering or computer science and engineering.

Learning Goals for the Major

  • An ability to apply knowledge of mathematics, science, and engineering.
  • An ability to configure, apply test conditions, and evaluate outcomes of experimental systems.
  • An ability to design systems, components, or processes that conform to given specifications and cost constraints.
  • An ability to work cooperatively, respectfully, creatively, and responsibly as a member of a team.
  • An ability to identify, formulate, and solve engineering problems.
  • An understanding of the norms of expected behavior in engineering practice and their underlying ethical foundations.
  • An ability to communicate effectively by oral, written, and graphical means.
  • An awareness of global and societal concerns and their importance in developing engineering solutions.
  • An ability to independently acquire and apply required information, and an appreciation of the associated process of lifelong learning.
  • A knowledge of contemporary issues.
  • An in-depth ability to use a combination of software, instrumentation, and experimental techniques practiced in circuits, physical electronics, communication, networks and systems, hardware, programming, and computer science theory.

Major Maps help undergraduate students discover academic, co-curricular, and discovery opportunities at UC Berkeley based on intended major or field of interest. Developed by the Division of Undergraduate Education in collaboration with academic departments, these experience maps will help you:

Explore your major and gain a better understanding of your field of study

Connect with people and programs that inspire and sustain your creativity, drive, curiosity and success

Discover opportunities for independent inquiry, enterprise, and creative expression

Engage locally and globally to broaden your perspectives and change the world

Reflect on your academic career and prepare for life after Berkeley

Use the major map below as a guide to planning your undergraduate journey and designing your own unique Berkeley experience.

View the Computer Science Major Map PDF.

Select a subject to view courses

Electrical Engineering and Computer Sciences

Electrical Engineering

Eecs 16a designing information devices and systems i 4 units.

Terms offered: Fall 2024, Summer 2024 8 Week Session, Spring 2024 This course and its follow-on course EECS16B focus on the fundamentals of designing modern information devices and systems that interface with the real world. Together, this course sequence provides a comprehensive foundation for core EECS topics in signal processing, learning, control, and circuit design while introducing key linear-algebraic concepts motivated by application contexts. Modeling is emphasized in a way that deepens mathematical maturity, and in both labs and homework, students will engage computationally, physically, and visually with the concepts being introduced in addition to traditional paper/pencil exercises. The courses are aimed at entering students as well as non-majors seeking a broad foundation for the field. Designing Information Devices and Systems I: Read More [+]

Rules & Requirements

Prerequisites: MATH 1A and MATH 1B (1B may be taken concurrently); COMPSCI 61A (encouraged to be taken concurrently)

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture, 2 hours of discussion, and 3 hours of laboratory per week

Summer: 8 weeks - 6 hours of lecture, 4 hours of discussion, and 6 hours of laboratory per week

Additional Format: Three hours of lecture and three hours of laboratory and two hours of discussion per week. Six hours of lecture and six hours of laboratory and four hours of discussion per week for 8 weeks.

Additional Details

Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Alon, Arcak, Ayazifar, Maharbiz, Niknejad, Ranade, Sahai, Subramanian, Tomlin

Formerly known as: Electrical Engineering 16A

Designing Information Devices and Systems I: Read Less [-]

EECS 16B Designing Information Devices and Systems II 4 Units

Terms offered: Fall 2024, Summer 2024 8 Week Session, Spring 2024 This course is a follow-on to EECS 16A , and focuses on the fundamentals of designing and building modern information devices and systems that interface with the real world. The course sequence provides a comprehensive introduction to core EECS topics in machine learning, circuit design, control, and signal processing while developing key linear-algebraic concepts motivated by application contexts. Modeling is emphasized in a way that deepens mathematical maturity, and in both labs and homework, students will engage computationally, physically, and visually with the concepts being introduced in addition to traditional paper exercises. The courses are aimed at entering students as well as non-majors seeking a broad introduction to the field. Designing Information Devices and Systems II: Read More [+]

Prerequisites: EECS 16A

Additional Format: Three hours of lecture and two hours of discussion and three hours of laboratory per week. Six hours of lecture and four hours of discussion and six hours of laboratory per week for 8 weeks.

Instructors: Alon, Ayazifar, Lustig, Maharbiz, Subramanian, Tomlin

Formerly known as: Electrical Engineering 16B

Designing Information Devices and Systems II: Read Less [-]

EECS 47D Completion of work in Electrical Engineering 16A 1 - 3 Units

Terms offered: Fall 2021 This course allows students who have had a linear algebra and/or basic circuit theory course to complete the work in EE16A and be ready for EE16B or EE47E. The course focuses on the fundamentals of designing modern information devices and systems that interface with the real world and provides a comprehensive foundation for core EECS topics in signal processing, learning, control, and circuit design. Modeling is emphasized in a way that deepens mathematical maturity , and in both labs and homework, students will engage computationally, physically, and visually with the concepts being introduced in addition to traditional paper/pencil exercises. Completion of work in Electrical Engineering 16A: Read More [+]

Prerequisites: MATH 1A , MATH 1B , COMPSCI 61A (encouraged to be taken concurrently), college level courses in linear algebra and/or circuit theory, and consent of the instructor

Fall and/or spring: 15 weeks - 2-8 hours of self-paced per week

Summer: 8 weeks - 4-13 hours of self-paced per week

Additional Format: Two to eight hours of self-paced per week. Four to thirteen hours of self-paced per week for 8 weeks.

Completion of work in Electrical Engineering 16A: Read Less [-]

EECS 47E Completion of work in Electrical Engineering 16B 1 - 3 Units

Terms offered: Prior to 2007 This course allows students who have had a linear algebra and/or basic circuit theory course to complete the work in EE16B. The course focuses on the fundamentals of designing modern information devices and systems that interface with the real world and provides a comprehensive foundation for core EECS topics in signal processing (DFT), learning (SVD/PCA), feedback control, and circuit design. Modeling is emphasized in a way that deepens mathematical maturity, and in both labs and homework, students will engage computationally, physically, and visually with the concepts being introduced in addition to traditional paper/pencil exercises. Completion of work in Electrical Engineering 16B: Read More [+]

Prerequisites: MATH 1A , MATH 1B , and COMPSCI 61A ; and EECS 16A , EECS 47D , or MATH 54 ; college level courses in linear algebra and/or circuit theory, and consent of the instructor

Fall and/or spring: 15 weeks - 3-8 hours of self-paced per week

Summer: 8 weeks - 6-16 hours of self-paced per week

Additional Format: Three to eight hours of self-paced per week. Six to sixteen hours of self-paced per week for 8 weeks.

Completion of work in Electrical Engineering 16B: Read Less [-]

EECS 47F Completion of work in Computer Science 70 1 - 3 Units

Terms offered: Prior to 2007 This course allows students who have had a discrete math and/or probability course to complete the work in CS70. Logic, infinity, and induction; applications include undecidability and stable marriage problem. Modular arithmetic and GCDs; applications include primality testing and cryptography. Polynomials; examples include error correcting codes and interpolation. Probability including sample spaces, independence, random variables, law of large numbers; examples include load balancing, existence arguments, Bayesian inference. Completion of work in Computer Science 70: Read More [+]

Prerequisites: Sophomore mathematical maturity, programming experience equivalent to that gained in COMPSCI 61A , a prior college level course on discrete math and/or probability, and consent of the instructor

Instructors: Ranade, Rao, Sahai, Seshia, Vazirani, Walrand

Completion of work in Computer Science 70: Read Less [-]

EECS C106A Introduction to Robotics 4 Units

Terms offered: Fall 2024, Fall 2023, Fall 2022, Fall 2021, Fall 2020, Fall 2019 This course is an introduction to the field of robotics. It covers the fundamentals of kinematics, dynamics, control of robot manipulators, robotic vision, sensing, forward & inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics, & control. We will present techniques for geometric motion planning & obstacle avoidance. Open problems in trajectory generation with dynamic constraints will also be discussed. The course also presents the use of the same analytical techniques as manipulation for the analysis of images & computer vision. Low level vision, structure from motion, & an introduction to vision & learning will be covered. The course concludes with current applications of robotics. Introduction to Robotics: Read More [+]

Prerequisites: Familiarity with linear algebra at the level of EECS 16A / EECS 16B or Math 54. Experience coding in python at the level of COMPSCI 61A . Preferred: experience developing software at the level of COMPSCI 61B and experience using Linux

Credit Restrictions: Students will receive no credit for Electrical Engineering and Computer Science C106A/Bioengineering C106A after completing EE C106A/BioE C125, Electrical Engineering 206A, or Electrical Engineering and Computer Science 206A.

Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 3 hours of laboratory per week

Summer: 8 weeks - 6 hours of lecture, 2 hours of discussion, and 6 hours of laboratory per week

Additional Format: Three hours of lecture and one hour of discussion and three hours of laboratory per week. Six hours of lecture and two hours of discussion and six hours of laboratory per week for 8 weeks.

Grading/Final exam status: Letter grade. Alternative to final exam.

Instructor: Sastry

Also listed as: BIO ENG C106A/MEC ENG C106A

Introduction to Robotics: Read Less [-]

EECS C106B Robotic Manipulation and Interaction 4 Units

Terms offered: Spring 2024, Spring 2023, Spring 2022, Spring 2021, Spring 2020, Spring 2019 The course is a sequel to EECS/BIOE/MEC106A/EECSC206A, which covers the mathematical fundamentals of robotics including kinematics, dynamics and control as well as an introduction to path planning, obstacle avoidance, and computer vision. This course will present several areas of robotics and active vision, at a deeper level and informed by current research. Concepts will include the review at an advanced level of robot control, the kinematics, dynamics and control of multi-fingered hands, grasping and manipulation of objects, mobile robots: including non-holonomic motion planning and control, path planning, Simultaneous Localization And Mapping (SLAM), and active vision. Additional research topics covered at the instructor's discretion. Robotic Manipulation and Interaction: Read More [+]

Prerequisites: EECS C106A / BIO ENG C106A / MEC ENG C106A / EECS C206A or an equivalent course. A strong programming background, knowledge of Python and Matlab, and some coursework in feedback controls (such as EL ENG C128 / MEC ENG C134 ) are also useful. Students who have not taken the prerequisite course should have a strong programming background, knowledge of Python and Matlab, and exposure to linear algebra, Lagrangian dynamics, and feedback controls at the intermediate level. EECS C106A

Credit Restrictions: Students will receive no credit for Electrical Engineering and Computer Science C106B/Bioengineering C106B after completing Electrical Engineering C106B/Bioengineering C125B, Electrical Engineering 206B, or Electrical Engineering and Computer Science 206B.

Additional Format: Three hours of lecture and one hour of discussion and three hours of laboratory per week.

Also listed as: BIO ENG C106B/MEC ENG C106B

Robotic Manipulation and Interaction: Read Less [-]

EECS 107 Introduction to AR/VR and Applications in Metaverse 4 Units

Terms offered: Not yet offered This course develops a fundamental understanding of computer vision (CV) and computer graphics (CG) that underpin the emerging AR/VR and Metaverse applications. The syllabus includes 3D perception, near-eye optics, depth cameras, 3D localization, and immersive 3D user experience. The companion lab helps students to acquire basic AR/VR coding skills in Unity and develop Metaverse applications. The course builds a strong foundation for students to take more advanced course: CS 294-137. Introduction to AR/VR and Applications in Metaverse: Read More [+]

Prerequisites: Familiarity with Linear Algebra at the level of EECS 16A /B or MATH 54 . Experience on coding proficiency and data structures at the level of CS61 A/B

Repeat rules: Course may be repeated for credit with instructor consent.

Fall and/or spring: 15 weeks - 3 hours of lecture and 2 hours of laboratory per week

Additional Format: Three hours of lecture and two hours of laboratory per week.

Grading/Final exam status: Letter grade. Alternate method of final assessment during regularly scheduled final exam group (e.g., presentation, final project, etc.).

Instructor: Yang

Introduction to AR/VR and Applications in Metaverse: Read Less [-]

EECS 126 Probability and Random Processes 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 This course covers the fundamentals of probability and random processes useful in fields such as networks, communication, signal processing, and control. Sample space, events, probability law. Conditional probability. Independence. Random variables. Distribution, density functions. Random vectors. Law of large numbers. Central limit theorem. Estimation and detection. Markov chains. Probability and Random Processes: Read More [+]

Prerequisites: COMPSCI 70 preferred but not required; Familiarity with linear algebra

Credit Restrictions: Students will receive no credit for EECS 126 after completing EE 126.

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Format: Three hours of lecture and one hour of discussion per week.

Instructor: Ramchandran

Probability and Random Processes: Read Less [-]

EECS 127 Optimization Models in Engineering 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 This course offers an introduction to optimization models and their applications, ranging from machine learning and statistics to decision-making and control, with emphasis on numerically tractable problems, such as linear or constrained least-squares optimization. Optimization Models in Engineering: Read More [+]

Prerequisites: EECS 16A and EECS 16B , or consent of instructor

Credit Restrictions: Students will receive no credit for EECS 127 after taking EECS 227AT or Electrical Engineering 127/227AT.

Additional Format: Three hours of Lecture and One hour of Discussion per week for 15 weeks.

Instructor: El Ghaoui

Formerly known as: Electrical Engineering 127

Optimization Models in Engineering: Read Less [-]

EECS 149 Introduction to Embedded and Cyber Physical Systems 4 Units

Terms offered: Fall 2024, Fall 2023, Fall 2022 This course introduces students to the basics of modeling, analysis, and design of embedded, cyber-physical systems. Students learn how to integrate computation with physical processes to meet a desired specification. Topics include models of computation, control, analysis and verification, interfacing with the physical world, real-time behaviors, mapping to platforms, and distributed embedded systems. The course has a strong laboratory component , with emphasis on a semester-long sequence of projects. Introduction to Embedded and Cyber Physical Systems: Read More [+]

Objectives & Outcomes

Course Objectives: To develop the skills to realize embedded systems that are safe, reliable, and efficient in their use of resources. To learn how to model and design the joint dynamics of software, networks, and physical processes. To learn to think critically about technologies that are available for achieving such joint dynamics.

Prerequisites: COMPSCI 61C and COMPSCI 70 ; EECS 16A and EECS 16B , or permission of instructor

Fall and/or spring: 15 weeks - 3 hours of lecture and 3 hours of laboratory per week

Additional Format: Three hours of lecture and three hours of laboratory per week.

Instructors: Seshia, Lee, Dutta

Introduction to Embedded and Cyber Physical Systems: Read Less [-]

EECS 151 Introduction to Digital Design and Integrated Circuits 3 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 An introduction to digital and system design. The material provides a top-down view of the principles, components, and methodologies for large scale digital system design. The underlying CMOS devices and manufacturing technologies are introduced, but quickly abstracted to higher-levels to focus the class on design of larger digital modules for both FPGAs (field programmable gate arrays) and ASICs (application specific integrated circuits). The class includes extensive use of industrial grade design automation and verification tools for assignments, labs and projects. The class has two lab options: ASIC Lab ( EECS 151LA ) and FPGA Lab ( EECS 151LB ). Students must enroll in at least one of the labs concurrently with the class. Introduction to Digital Design and Integrated Circuits: Read More [+]

Course Objectives: The Verilog hardware description language is introduced and used. Basic digital system design concepts, Boolean operations/combinational logic, sequential elements and finite-state-machines, are described. Design of larger building blocks such as arithmetic units, interconnection networks, input/output units, as well as memory design (SRAM, Caches, FIFOs) and integration are also covered. Parallelism, pipelining and other micro-architectural optimizations are introduced. A number of physical design issues visible at the architecture level are covered as well, such as interconnects, power, and reliability.

Prerequisites: EECS 16A and EECS 16B

Credit Restrictions: Students must enroll concurrently in at least one the lab flavors EECS151LA or EECS151LB. Students wishing to take a second lab flavor next term can sign-up only for that Lab section and receive a Letter grade. The pre-requisite for “Lab-only” enrollment that term will be EECS151 from previous terms.

Instructors: Stojanovic, Wawrzynek

Introduction to Digital Design and Integrated Circuits: Read Less [-]

EECS 151LA Application Specific Integrated Circuits Laboratory 2 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 This lab lays the foundation of modern digital design by first presenting the scripting and hardware description language base for specification of digital systems and interactions with tool flows. The labs are centered on a large design with the focus on rapid design space exploration. The lab exercises culminate with a project design, e.g., implementation of a three-stage RISC-V processor with a register file and caches. The design is mapped to simulation and layout specification. Application Specific Integrated Circuits Laboratory: Read More [+]

Course Objectives: Software testing of digital designs is covered leading to a set of exercises that cover the design flow. Digital synthesis, floor-planning, placement and routing are covered, as well as tools to evaluate timing and power consumption. Chip-level assembly is covered, including instantiation of custom blocks: I/O pads, memories, PLLs, etc.

Prerequisites: COMPSCI 61C , EECS 16A , EECS 16B , and EL ENG 105

Fall and/or spring: 15 weeks - 3 hours of laboratory per week

Additional Format: Three hours of laboratory per week.

Grading/Final exam status: Letter grade. Final exam not required.

Application Specific Integrated Circuits Laboratory: Read Less [-]

EECS 151LB Field-Programmable Gate Array Laboratory 2 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 This lab covers the design of modern digital systems with Field-Programmable Gate Array (FPGA) platforms. A series of lab exercises provide the background and practice of digital design using a modern FPGA design tool flow. Digital synthesis, partitioning, placement, routing, and simulation tools for FPGAs are covered in detail. The labs exercises culminate with a large design project, e.g., an implementation of a full three-stage RISC-V processor system, with caches, graphics acceleration, and external peripheral components. The design is mapped and demonstrated on an FPGA hardware platform. Field-Programmable Gate Array Laboratory: Read More [+]

Prerequisites: EECS 16A , EECS 16B , and COMPSCI 61C ; EL ENG 105 recommended

Field-Programmable Gate Array Laboratory: Read Less [-]

COMPSCI C8 Foundations of Data Science 4 Units

Terms offered: Fall 2024, Summer 2024 8 Week Session, Spring 2024, Fall 2023, Spring 2023, Fall 2022, Spring 2022, Fall 2021, Summer 2021 8 Week Session, Fall 2020 Foundations of data science from three perspectives: inferential thinking, computational thinking, and real-world relevance. Given data arising from some real-world phenomenon, how does one analyze that data so as to understand that phenomenon? The course teaches critical concepts and skills in computer programming and statistical inference, in conjunction with hands-on analysis of real-world datasets, including economic data, document collections, geographical data, and social networks. It delves into social and legal issues surrounding data analysis, including issues of privacy and data ownership. Foundations of Data Science: Read More [+]

Prerequisites: This course may be taken on its own, but students are encouraged to take it concurrently with a data science connector course (numbered 88 in a range of departments)

Credit Restrictions: Students will receive no credit for DATA C8 \ COMPSCI C8 \ INFO C8 \ STAT C8 after completing COMPSCI 8, or DATA 8. A deficient grade in DATA C8 \ COMPSCI C8 \ INFO C8 \ STAT C8 may be removed by taking COMPSCI 8, COMPSCI 8, or DATA 8.

Summer: 8 weeks - 6 hours of lecture and 4 hours of laboratory per week

Additional Format: Three hours of lecture and two hours of laboratory per week. Six hours of lecture and four hours of laboratory per week for 8 weeks.

Subject/Course Level: Computer Science/Undergraduate

Formerly known as: Computer Science C8/Statistics C8/Information C8

Also listed as: DATA C8/INFO C8/STAT C8

Foundations of Data Science: Read Less [-]

COMPSCI 9A Matlab for Programmers 2 Units

Terms offered: Fall 2018, Spring 2018, Fall 2017 Introduction to the constructs in the Matlab programming language, aimed at students who already know how to program. Array and matrix operations, functions and function handles, control flow, plotting and image manipulation, cell arrays and structures, and the Symbolic Mathematics toolbox. Matlab for Programmers: Read More [+]

Prerequisites: Programming experience equivalent to that gained in COMPSCI 10 ; familiarity with applications of matrix processing

Repeat rules: Course may be repeated for credit up to a total of 4 units.

Fall and/or spring: 15 weeks - 2 hours of self-paced per week

Additional Format: Self-paced.

Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.

Instructor: Hilfinger

Matlab for Programmers: Read Less [-]

COMPSCI 9C C for Programmers 2 Units

Terms offered: Spring 2019, Fall 2018, Spring 2018 Self-paced course in the C programming language for students who already know how to program. Computation, input and output, flow of control, functions, arrays, and pointers, linked structures, use of dynamic storage, and implementation of abstract data types. C for Programmers: Read More [+]

Prerequisites: Programming experience with pointers (or addresses in assembly language) and linked data structures equivalent to that gained in COMPSCI 9B, COMPSCI 61A or ENGIN 7

Credit Restrictions: Students will receive no credit for COMPSCI 9C after completing COMPSCI 61A .

C for Programmers: Read Less [-]

COMPSCI 9D Scheme and Functional Programming for Programmers 2 Units

Terms offered: Spring 2016, Fall 2015, Spring 2015 Self-paced course in functional programming, using the Scheme programming language, for students who already know how to program. Recursion; higher-order functions; list processing; implementation of rule-based querying. Scheme and Functional Programming for Programmers: Read More [+]

Prerequisites: Programming experience similar to that gained in COMPSCI 10 or ENGIN 7

Credit Restrictions: Students will receive no credit for COMPSCI 9D after completing COMPSCI 61A .

Scheme and Functional Programming for Programmers: Read Less [-]

COMPSCI 9E Productive Use of the UNIX Environment 2 Units

Terms offered: Spring 2019, Fall 2018, Spring 2018 Use of UNIX utilities and scripting facilities for customizing the programming environment, organizing files (possibly in more than one computer account), implementing a personal database, reformatting text, and searching for online resources. Productive Use of the UNIX Environment: Read More [+]

Prerequisites: Programming experience similar to that gained in COMPSCI 61A or ENGIN 7 ; DOS or UNIX experience

Productive Use of the UNIX Environment: Read Less [-]

COMPSCI 9F C++ for Programmers 2 Units

Terms offered: Spring 2019, Fall 2018, Spring 2018 Self-paced introduction to the constructs provided in the C++ programming language for procedural and object-oriented programming, aimed at students who already know how to program. C++ for Programmers: Read More [+]

Prerequisites: Programming experience equivalent to that gained in COMPSCI 61A or ENGIN 7

Credit Restrictions: Students will receive no credit for COMPSCI 9F after completing COMPSCI 61A .

C++ for Programmers: Read Less [-]

COMPSCI 9G JAVA for Programmers 2 Units

Terms offered: Spring 2019, Fall 2018, Spring 2018 Self-paced course in Java for students who already know how to program. Applets; variables and computation; events and flow of control; classes and objects; inheritance; GUI elements; applications; arrays, strings, files, and linked structures; exceptions; threads. JAVA for Programmers: Read More [+]

Prerequisites: COMPSCI 9C , COMPSCI 9F , or COMPSCI 61A plus experience with object-oriented programming or C-based language

Instructor: Garcia

JAVA for Programmers: Read Less [-]

COMPSCI 9H Python for Programmers 2 Units

Terms offered: Spring 2019, Fall 2018, Spring 2018 Introduction to the constructs provided in the Python programming language, aimed at students who already know how to program. Flow of control; strings, tuples, lists, and dictionaries; CGI programming; file input and output; object-oriented programming; GUI elements. Python for Programmers: Read More [+]

Prerequisites: Programming experience equivalent to that gained in COMPSCI 10

Fall and/or spring: 15 weeks - 1 hour of self-paced per week

Python for Programmers: Read Less [-]

COMPSCI 10 The Beauty and Joy of Computing 4 Units

Terms offered: Fall 2024, Summer 2024 8 Week Session, Spring 2024 An introductory course for students with minimal prior exposure to computer science. Prepares students for future computer science courses and empowers them to utilize programming to solve problems in their field of study. Presents an overview of the history, great principles, and transformative applications of computer science, as well as a comprehensive introduction to programming. Topics include abstraction, recursion, algorithmic complexity, higher-order functions, concurrency, social implications of computing (privacy, education, algorithmic bias), and engaging research areas (data science, AI, HCI). Students will program in Snap! (a friendly graphical language) and Python, and will design and implement two projects of their choice. The Beauty and Joy of Computing: Read More [+]

Credit Restrictions: Students will receive no credit for 10 after having taken W10, 61A, 61B, or 61C.

Fall and/or spring: 15 weeks - 2 hours of lecture, 1 hour of discussion, and 4 hours of laboratory per week

Summer: 8 weeks - 4 hours of lecture, 2 hours of discussion, and 8 hours of laboratory per week

Additional Format: Two hours of lecture and one hour of discussion and four hours of laboratory per week. Four hours of lecture and two hours of discussion and eight hours of laboratory per week for 8 weeks.

Instructors: Garcia, Hug

The Beauty and Joy of Computing: Read Less [-]

COMPSCI W10 The Beauty and Joy of Computing 4 Units

Terms offered: Fall 2012 This course meets the programming prerequisite for 61A. An introduction to the beauty and joy of computing. The history, social implications, great principles, and future of computing. Beautiful applications that have changed the world. How computing empowers discovery and progress in other fields. Relevance of computing to the student and society will be emphasized. Students will learn the joy of programming a computer using a friendly, graphical language, and will complete a substantial team programming project related to their interests. The Beauty and Joy of Computing: Read More [+]

Credit Restrictions: Students will receive no credit for W10 after taking 10, 61A, 61B or 61C. A deficient grade in 10 may be removed by taking W10.

Fall and/or spring: 15 weeks - 2 hours of web-based lecture and 5 hours of web-based discussion per week

Summer: 8 weeks - 4 hours of web-based lecture and 10 hours of web-based discussion per week

Additional Format: Two hours of web-based lecture, four hours of web-based laboratory, and one hour of web-based discussion per week. Four hours of web-based lecture, eight hours of web-based laboratory, and two hours of web-based discussion per week for eight weeks.

Online: This is an online course.

COMPSCI 36 CS Scholars Seminar: The Educational Climate in CS & CS61A technical discussions 2 Units

Terms offered: Fall 2019, Fall 2018, Spring 2018 Computer Science 36 is a seminar for CS Scholars who are concurrently taking CS61A: The Structure and Interpretation of Computer Programs. CS Scholars is a cohort-model program to provide support in exploring and potentially declaring a CS major for students with little to no computational background prior to coming to the university. CS 36 provides an introduction to the CS curriculum at UC Berkeley, and the overall CS landscape in both industry and academia—through the lens of accessibility and its relevance to diversity. Additionally, CS36 provides technical instruction to review concepts in CS61A, in order to support CS Scholars’ individual learning and success in the CS61A course. CS Scholars Seminar: The Educational Climate in CS & CS61A technical discussions: Read More [+]

Student Learning Outcomes: Students will know where to find several support services including tutoring, advising, counseling, and career advice. Students will perform as well as possible in the CS61A prerequisite for the CS major. They will also have customized program plans for completing the major within four years.

Prerequisites: Prerequisite satisfied Concurrently: Participating in the CS Scholars program, and concurrently taking COMPSCI 61A

Fall and/or spring: 15 weeks - 2 hours of seminar per week

Additional Format: Two hours of seminar per week.

Grading/Final exam status: Offered for pass/not pass grade only. Alternative to final exam.

Instructor: Hunn

CS Scholars Seminar: The Educational Climate in CS & CS61A technical discussions: Read Less [-]

COMPSCI 39 Freshman/Sophomore Seminar 1.5 - 2 Units

Terms offered: Fall 2023, Spring 2022, Spring 2019 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+]

Prerequisites: Priority given to freshmen and sophomores

Repeat rules: Course may be repeated for credit when topic changes.

Fall and/or spring: 15 weeks - 2-3 hours of seminar per week

Additional Format: Two to three hours of seminar per week.

Grading/Final exam status: Offered for pass/not pass grade only. Final Exam To be decided by the instructor when the class is offered.

Freshman/Sophomore Seminar: Read Less [-]

COMPSCI 39J Freshman/Sophomore Seminar 1.5 - 4 Units

Terms offered: Fall 2010, Spring 2010, Fall 2009 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+]

Repeat rules: Course may be repeated for credit without restriction.

Fall and/or spring: 15 weeks - 2-4 hours of seminar per week

Additional Format: One hour of seminar per week per unit.

Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required.

COMPSCI 39K Freshman/Sophomore Seminar 1.5 - 4 Units

Terms offered: Spring 2013, Spring 2011, Spring 2010 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+]

COMPSCI 39M Freshman/Sophomore Seminar 1.5 - 4 Units

Terms offered: Fall 2008 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+]

COMPSCI 39N Freshman/Sophomore Seminar 1.5 - 4 Units

Terms offered: Fall 2010, Fall 2009 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+]

COMPSCI 39P Freshman/Sophomore Seminar 1.5 - 4 Units

Terms offered: Fall 2013, Spring 2013, Fall 2012 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+]

COMPSCI 39Q Freshman/Sophomore Seminar 1.5 - 4 Units

Terms offered: Fall 2011 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+]

COMPSCI 39R Freshman/Sophomore Seminar 1.5 - 4 Units

Terms offered: Spring 2016, Spring 2013 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+]

COMPSCI 47A Completion of Work in Computer Science 61A 1 Unit

Terms offered: Fall 2024, Spring 2024, Fall 2023 Implementation of generic operations. Streams and iterators. Implementation techniques for supporting functional, object-oriented, and constraint-based programming in the Scheme programming language. Together with 9D, 47A constitutes an abbreviated, self-paced version of 61A for students who have already taken a course equivalent to 61B. Completion of Work in Computer Science 61A: Read More [+]

Prerequisites: COMPSCI 61B , COMPSCI 9D , and consent of instructor

Credit Restrictions: Students will receive no credit for 47A after taking 61A.

Fall and/or spring: 15 weeks - 0 hours of self-paced per week

Additional Format: Zero hour of self-paced per week.

Completion of Work in Computer Science 61A: Read Less [-]

COMPSCI 47B Completion of Work in Computer Science 61B 1 Unit

Terms offered: Fall 2024, Spring 2024, Fall 2023 Iterators. Hashing, applied to strings and multi-dimensional structures. Heaps. Storage management. Design and implementation of a program containing hundreds of lines of code. Students who have completed a portion of the subject matter of COMPSCI 61B may, with consent of instructor, complete COMPSCI 61B in this self-paced course. Please note that students in the College of Engineering are required to receive additional permission from the College as well as the EECS department for the course to count in place of COMPSCI 61B . Completion of Work in Computer Science 61B: Read More [+]

Prerequisites: A course in data structures, COMPSCI 9G , and consent of instructor

Credit Restrictions: Students will receive no credit for 47B after taking 61B.

Completion of Work in Computer Science 61B: Read Less [-]

COMPSCI 47C Completion of Work in Computer Science 61C 1 Unit

Terms offered: Fall 2024, Spring 2024, Fall 2023 MIPS instruction set simulation. The assembly and linking process. Caches and virtual memory. Pipelined computer organization. Students with sufficient partial credit in 61C may, with consent of instructor, complete the credit in this self-paced course. Completion of Work in Computer Science 61C: Read More [+]

Prerequisites: Experience with assembly language including writing an interrupt handler, COMPSCI 9C , and consent of instructor

Credit Restrictions: Students will receive no credit for COMPSCI 47C after completing COMPSCI 61C , or COMPSCI 61CL .

Completion of Work in Computer Science 61C: Read Less [-]

COMPSCI 61A The Structure and Interpretation of Computer Programs 4 Units

Terms offered: Fall 2024, Summer 2024 8 Week Session, Spring 2024 An introduction to programming and computer science focused on abstraction techniques as means to manage program complexity. Techniques include procedural abstraction; control abstraction using recursion, higher-order functions, generators, and streams; data abstraction using interfaces, objects, classes, and generic operators; and language abstraction using interpreters and macros. The course exposes students to programming paradigms, including functional, object-oriented, and declarative approaches. It includes an introduction to asymptotic analysis of algorithms. There are several significant programming projects. The Structure and Interpretation of Computer Programs: Read More [+]

Prerequisites: MATH 1A (may be taken concurrently) or Math 10A or Math 16A. Programming experience equivalent to that gained from a score of 3 or above on the Advanced Placement Computer Science exam

Credit Restrictions: Students will receive no credit for COMPSCI 61A after completing COMPSCI 47A , COMPSCI 61AS, or COMPSCI W61A . A deficient grade in COMPSCI 61A may be removed by taking COMPSCI 61AS, or COMPSCI W61A .

Fall and/or spring: 15 weeks - 3 hours of lecture, 1.5 hours of discussion, and 1.5 hours of laboratory per week

Summer: 8 weeks - 6 hours of lecture, 3 hours of discussion, and 3 hours of laboratory per week

Additional Format: Three hours of lecture and one and one-half hours of discussion and one and one-half hours of laboratory per week. Six hours of lecture and three hours of discussion and three hours of laboratory per week for 8 weeks.

Instructors: Garcia, Hilfinger

The Structure and Interpretation of Computer Programs: Read Less [-]

COMPSCI 61B Data Structures 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the Java programming language. Data Structures: Read More [+]

Prerequisites: COMPSCI 61A , COMPSCI 88, or ENGIN 7

Credit Restrictions: Students will receive no credit for COMPSCI 61B after completing COMPSCI 61BL , or COMPSCI 47B . A deficient grade in COMPSCI 61B may be removed by taking COMPSCI 61BL .

Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 2 hours of laboratory per week

Summer: 8 weeks - 6 hours of lecture, 2 hours of discussion, and 4 hours of laboratory per week

Additional Format: Three hours of lecture and one hour of discussion and two hours of laboratory per week. Six hours of lecture and two hours of discussion and four hours of laboratory per week for 8 weeks.

Instructors: Hilfinger, Shewchuk

Data Structures: Read Less [-]

COMPSCI 61BL Data Structures and Programming Methodology 4 Units

Terms offered: Summer 2024 8 Week Session, Summer 2023 8 Week Session, Summer 2022 8 Week Session The same material as in 61B, but in a laboratory-based format. Data Structures and Programming Methodology: Read More [+]

Credit Restrictions: Students will receive no credit for COMPSCI 61BL after completing COMPSCI 47B , or COMPSCI 61B . A deficient grade in COMPSCI 61BL may be removed by taking COMPSCI 61B .

Fall and/or spring: 15 weeks - 1 hour of lecture and 6 hours of laboratory per week

Summer: 8 weeks - 2 hours of lecture and 12 hours of laboratory per week

Additional Format: One hour of lecture and six hours of laboratory per week. Two hours of lecture and twelve hours of laboratory per week for 8 weeks.

Data Structures and Programming Methodology: Read Less [-]

COMPSCI 61C Great Ideas of Computer Architecture (Machine Structures) 4 Units

Terms offered: Fall 2024, Summer 2024 8 Week Session, Spring 2024 The internal organization and operation of digital computers. Machine architecture, support for high-level languages (logic, arithmetic, instruction sequencing) and operating systems (I/O, interrupts, memory management, process switching). Elements of computer logic design. Tradeoffs involved in fundamental architectural design decisions. Great Ideas of Computer Architecture (Machine Structures): Read More [+]

Prerequisites: COMPSCI 61A , along with either COMPSCI 61B or COMPSCI 61BL , or programming experience equivalent to that gained in COMPSCI 9C , COMPSCI 9F , or COMPSCI 9G

Credit Restrictions: Students will receive no credit for COMPSCI 61C after completing COMPSCI 61CL .

Additional Format: Two hours of lecture, one hour of discussion, and an average of six hours of self-scheduled programming laboratory per week.

Instructors: Garcia, Katz, Stojanovic

Great Ideas of Computer Architecture (Machine Structures): Read Less [-]

COMPSCI 61CL Machine Structures (Lab-Centric) 4 Units

Terms offered: Fall 2009, Spring 2009, Fall 2008 The same material as in 61C but in a lab-centric format. Machine Structures (Lab-Centric): Read More [+]

Prerequisites: COMPSCI 61A , along with COMPSCI 61B or COMPSCI 61BL , or programming experience equivalent to that gained in COMPSCI 9C , COMPSCI 9F , or COMPSCI 9G

Credit Restrictions: Students will receive no credit for COMPSCI 61CL after completing COMPSCI 61C , or COMPSCI 47C .

Instructors: Garcia, Patterson

Machine Structures (Lab-Centric): Read Less [-]

COMPSCI W61A The Structure and Interpretation of Computer Programs (Online) 4 Units

Terms offered: Summer 2019 8 Week Session An introduction to programming and computer science focused on abstraction techniques as means to manage program complexity. Techniques include procedural abstraction; control abstraction using recursion, higher-order functions, generators, and streams; data abstraction using interfaces, objects, classes, and generic operators; and language abstraction using interpreters and macros. The course exposes students to programming paradigms, including functional , object-oriented, and declarative approaches. It includes an introduction to asymptotic analysis of algorithms. There are several significant programming projects. The Structure and Interpretation of Computer Programs (Online): Read More [+]

Prerequisites: MATH 1A (may be taken concurrently); programming experience equivalent to that gained from a score of 3 or above on the Advanced Placement Computer Science A exam

Credit Restrictions: Students will receive no credit for Computer Science W61A after completing Computer Science 47A or Computer Science 61A. A deficient grade in Computer Science W61A may be removed by taking Computer Science 61A.

Fall and/or spring: 15 weeks - 3 hours of web-based lecture, 1.5 hours of laboratory, and 1.5 hours of web-based discussion per week

Summer: 8 weeks - 6 hours of web-based lecture, 3 hours of laboratory, and 3 hours of web-based discussion per week

Additional Format: One and one-half hours of laboratory and one and one-half hours of web-based discussion and three hours of web-based lecture per week. Three hours of laboratory and three hours of web-based discussion and six hours of web-based lecture per week for 8 weeks.

Instructor: Denero

The Structure and Interpretation of Computer Programs (Online): Read Less [-]

COMPSCI 70 Discrete Mathematics and Probability Theory 4 Units

Terms offered: Fall 2024, Summer 2024 8 Week Session, Spring 2024 Logic, infinity, and induction; applications include undecidability and stable marriage problem. Modular arithmetic and GCDs; applications include primality testing and cryptography. Polynomials; examples include error correcting codes and interpolation. Probability including sample spaces, independence, random variables, law of large numbers; examples include load balancing, existence arguments, Bayesian inference. Discrete Mathematics and Probability Theory: Read More [+]

Prerequisites: Sophomore mathematical maturity, and programming experience equivalent to that gained with a score of 3 or above on the Advanced Placement Computer Science A exam

Credit Restrictions: Students will receive no credit for Computer Science 70 after taking Mathematics 55.

Fall and/or spring: 15 weeks - 3 hours of lecture and 2 hours of discussion per week

Summer: 8 weeks - 6 hours of lecture and 4 hours of discussion per week

Additional Format: Three hours of lecture and two hours of discussion per week. Six hours of lecture and four hours of discussion per week for 8 weeks.

Instructors: Rao, Vazirani, Wagner, Sahai

Discrete Mathematics and Probability Theory: Read Less [-]

COMPSCI C79 Societal Risks and the Law 3 Units

Terms offered: Spring 2013 Defining, perceiving, quantifying and measuring risk; identifying risks and estimating their importance; determining whether laws and regulations can protect us from these risks; examining how well existing laws work and how they could be improved; evaluting costs and benefits. Applications may vary by term. This course cannot be used to complete engineering unit or technical elective requirements for students in the College of Engineering. Societal Risks and the Law: Read More [+]

Also listed as: POL SCI C79/STAT C79

Societal Risks and the Law: Read Less [-]

COMPSCI 84 Sophomore Seminar 1 or 2 Units

Terms offered: Fall 2007 Sophomore seminars are small interactive courses offered by faculty members in departments all across the campus. Sophomore seminars offer opportunity for close, regular intellectual contact between faculty members and students in the crucial second year. The topics vary from department to department and semester to semester. Enrollment limited to 15 sophomores. Sophomore Seminar: Read More [+]

Prerequisites: At discretion of instructor

Fall and/or spring: 5 weeks - 3-6 hours of seminar per week 10 weeks - 1.5-3 hours of seminar per week 15 weeks - 1-2 hours of seminar per week

Summer: 6 weeks - 2.5-5 hours of seminar per week 8 weeks - 2-4 hours of seminar per week

Additional Format: unit(s):one hour of seminar per week; 2 unit(s):two hours of seminar per week. unit(s):one and one-half hours of seminar per week; 2 unit(s):three hours of seminar per week for 10 weeks. unit(s):two hours of seminar per week; 2 unit(s):four hours of seminar per week for 8 weeks. unit(s):two and one-half hours of seminar per week; 2 unit(s):five hours of seminar per week for 6 weeks. unit(s):three hours of seminar per week; 2 unit(s):six hours of seminar per week for five weeks.

Sophomore Seminar: Read Less [-]

COMPSCI C88C Computational Structures in Data Science 3 Units

Terms offered: Fall 2024, Summer 2024 8 Week Session, Spring 2024, Spring 2023, Fall 2022 Development of Computer Science topics appearing in Foundations of Data Science (C8); expands computational concepts and techniques of abstraction. Understanding the structures that underlie the programs, algorithms, and languages used in data science and elsewhere. Mastery of a particular programming language while studying general techniques for managing program complexity, e.g., functional, object-oriented , and declarative programming. Provides practical experience with composing larger systems through several significant programming projects. Computational Structures in Data Science: Read More [+]

Course Objectives: Develop a foundation of computer science concepts that arise in the context of data analytics, including algorithm, representation, interpretation, abstraction, sequencing, conditional, function, iteration, recursion, types, objects, and testing, and develop proficiency in the application of these concepts in the context of a modern programming language at a scale of whole programs on par with a traditional CS introduction course.

Student Learning Outcomes: Students will be able to demonstrate a working knowledge of these concepts and a proficiency of programming based upon them sufficient to construct substantial stand-alone programs.

Prerequisites: This course is a Data Science connector course and may only be taken concurrently with or after COMPSCI C8 / DATA C8 / INFO C8 / STAT C8 . Students may take more than one Data Science connector (88) course if they wish, concurrent with or after having taken the C8 course

Credit Restrictions: Students will receive no credit for DATA C88C after completing COMPSCI 61A .

Fall and/or spring: 15 weeks - 2-2 hours of lecture, 2-2 hours of laboratory, and 0-1 hours of supplement per week

Summer: 8 weeks - 4-4 hours of lecture, 4-4 hours of laboratory, and 0-2 hours of supplement per week

Additional Format: Two hours of lecture and two hours of laboratory and zero to one hours of supplement per week. Four hours of lecture and four hours of laboratory and zero to two hours of supplement per week for 8 weeks.

Instructors: Ball, Culler

Formerly known as: Computer Science 88

Also listed as: DATA C88C

Computational Structures in Data Science: Read Less [-]

COMPSCI 94 Special Topics 1 - 4 Units

Terms offered: Fall 2015 Topics will vary semester to semester. See the Computer Science Division announcements. Special Topics: Read More [+]

Prerequisites: Consent of instructor

Fall and/or spring: 15 weeks - 1-4 hours of lecture per week

Additional Format: Special topics courses will include a lecture and depending on the specific offering may also include discussion and/or lab sections at the discretion of the instructor.

Special Topics: Read Less [-]

COMPSCI 97 Field Study 1 - 4 Units

Terms offered: Fall 2015, Spring 2015, Fall 2014 Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation. Field Study: Read More [+]

Prerequisites: Consent of instructor (see department adviser)

Fall and/or spring: 15 weeks - 1-4 hours of fieldwork per week

Summer: 6 weeks - 2.5-10 hours of fieldwork per week 8 weeks - 2-7.5 hours of fieldwork per week

Additional Format: One to Four hour of Fieldwork per week for 15 weeks. Two to Seven and one-half hours of Fieldwork per week for 8 weeks. Two and one-half to Ten hours of Fieldwork per week for 6 weeks.

Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.

Field Study: Read Less [-]

COMPSCI 98 Directed Group Study 1 - 4 Units

Terms offered: Fall 2018, Fall 2016, Fall 2015 Seminars for group study of selected topics, which will vary from year to year. Intended for students in the lower division. Directed Group Study: Read More [+]

Fall and/or spring: 15 weeks - 1-4 hours of directed group study per week

Additional Format: One hour of lecture per week per unit.

Directed Group Study: Read Less [-]

COMPSCI 99 Individual Study and Research for Undergraduates 1 - 2 Units

Terms offered: Fall 2015, Fall 2014, Spring 2014 A course for lower division students in good standing who wish to undertake a program of individual inquiry initiated jointly by the student and a professor. There are no other formal prerequisites, but the supervising professor must be convinced that the student is able to profit by the program. Individual Study and Research for Undergraduates: Read More [+]

Prerequisites: GPA of 3.4 or better

Fall and/or spring: 15 weeks - 0 hours of independent study per week

Summer: 6 weeks - 1-5 hours of independent study per week 8 weeks - 1-4 hours of independent study per week

Additional Format: Zero hours of Independent study per week for 15 weeks. One to Four hour of Independent study per week for 8 weeks. One to Five hour of Independent study per week for 6 weeks.

Individual Study and Research for Undergraduates: Read Less [-]

COMPSCI C100 Principles & Techniques of Data Science 4 Units

Terms offered: Fall 2024, Summer 2024 8 Week Session, Spring 2024, Summer 2023 8 Week Session, Fall 2022, Fall 2021, Fall 2020 In this course, students will explore the data science lifecycle, including question formulation, data collection and cleaning, exploratory data analysis and visualization, statistical inference and prediction​, and decision-making.​ This class will focus on quantitative critical thinking​ and key principles and techniques needed to carry out this cycle. These include languages for transforming, querying and analyzing data; algorithms for machine learning methods including regression, classification and clustering; principles behind creating informative data visualizations; statistical concepts of measurement error and prediction; and techniques for scalable data processing. Principles & Techniques of Data Science: Read More [+]

Prerequisites: COMPSCI C8 / DATA C8 / INFO C8 / STAT C8 with a C- or better, or Pass; and COMPSCI 61A , COMPSCI/DATA C88C, or ENGIN 7 with a C- or better, or Pass; Corequisite: MATH 54 , 56 or EECS 16A (C- or better, or Pass, required if completed prior to Data C100)

Credit Restrictions: Students will receive no credit for DATA C100 \ STAT C100 \ COMPSCI C100 after completing DATA 100. A deficient grade in DATA C100 \ STAT C100 \ COMPSCI C100 may be removed by taking DATA 100.

Fall and/or spring: 15 weeks - 3-3 hours of lecture, 1-1 hours of discussion, and 0-1 hours of laboratory per week

Summer: 8 weeks - 6-6 hours of lecture, 2-2 hours of discussion, and 0-2 hours of laboratory per week

Additional Format: Three hours of lecture and one hour of discussion and zero to one hours of laboratory per week. Six hours of lecture and two hours of discussion and zero to two hours of laboratory per week for 8 weeks.

Instructors: Gonzalez, Nourozi, Perez, Yan

Formerly known as: Statistics C100/Computer Science C100

Also listed as: DATA C100/STAT C100

Principles & Techniques of Data Science: Read Less [-]

COMPSCI 146L Programmable Digital Systems Laboratory 2 Units

Terms offered: Spring 2015 Hardware description languages for digital system design and interactions with tool flows. Design, implementation, and verification of digital designs. Digital synthesis, partitioning, placement, routing, and simulation for Field-Programmable Gate Arrays. Large digital-system design concepts. Project design component – example, a full processor implementation with peripherals. Programmable Digital Systems Laboratory: Read More [+]

Student Learning Outcomes: This course is a one-time offering to supplement the EE141 course offered in the Fall 2014, with a lab and project section that cover the design of larger digital systems on a programmable chip platform (FPGA). The EE141 lectures in the Fall 2014 already covered the necessary lecture material, so students who took the EE141 lab in the Fall of 2014 will have a chance to expand their skills into the area of FPGA Digital System Design. Hence the pre-requisite for this course is that a student has taken the EE141 course in the Fall 2014.

Prerequisites: COMPSCI 61C ; EL ENG 105 recommended

Credit Restrictions: Students will receive no credit for Computer Science 146L after taking Fall 2014 version of Computer Science 150.

Fall and/or spring: 15 weeks - 3 hours of laboratory and 1 hour of discussion per week

Additional Format: Three hours of laboratory and one hour of discussion per week.

Instructor: Stojanovic

Programmable Digital Systems Laboratory: Read Less [-]

COMPSCI 152 Computer Architecture and Engineering 4 Units

Terms offered: Spring 2024, Spring 2023, Spring 2022 Instruction set architecture, microcoding, pipelining (simple and complex). Memory hierarchies and virtual memory. Processor parallelism: VLIW, vectors, multithreading. Multiprocessors. Computer Architecture and Engineering: Read More [+]

Prerequisites: COMPSCI 61C

Instructors: Asanovic, Culler, Kubiatowicz, Wawrzynek

Computer Architecture and Engineering: Read Less [-]

COMPSCI 160 User Interface Design and Development 4 Units

Terms offered: Summer 2024 8 Week Session, Spring 2024, Summer 2023 8 Week Session The design, implementation, and evaluation of user interfaces. User-centered design and task analysis. Conceptual models and interface metaphors. Usability inspection and evaluation methods. Analysis of user study data. Input methods (keyboard, pointing, touch, tangible) and input models. Visual design principles. Interface prototyping and implementation methodologies and tools. Students will develop a user interface for a specific task and target user group in teams. User Interface Design and Development: Read More [+]

Prerequisites: COMPSCI 61B or COMPSCI 61BL

Credit Restrictions: Students will receive no credit for Computer Science 160 after taking Computer Science 260A.

Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week

Additional Format: Three hours of lecture and one hour of discussion per week. Six hours of lecture and two hours of discussion per week for 8 weeks.

Instructors: Agrawala, Canny, Hartmann, Paulos

User Interface Design and Development: Read Less [-]

COMPSCI 161 Computer Security 4 Units

Terms offered: Fall 2024, Summer 2024 8 Week Session, Spring 2024 Introduction to computer security. Cryptography, including encryption, authentication, hash functions, cryptographic protocols, and applications. Operating system security, access control. Network security, firewalls, viruses, and worms. Software security, defensive programming, and language-based security. Case studies from real-world systems. Computer Security: Read More [+]

Prerequisites: COMPSCI 61B , COMPSCI 61C , and COMPSCI 70

Fall and/or spring: 15 weeks - 3-3 hours of lecture and 1-1.5 hours of discussion per week

Summer: 8 weeks - 6-6 hours of lecture and 2-3 hours of discussion per week

Additional Format: Three hours of lecture and one to one and one-half hours of discussion per week. Six hours of lecture and two to three hours of discussion per week for 8 weeks.

Instructors: Paxson, Song, Wagner

Computer Security: Read Less [-]

COMPSCI 162 Operating Systems and System Programming 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Basic concepts of operating systems and system programming. Utility programs, subsystems, multiple-program systems. Processes, interprocess communication, and synchronization. Memory allocation, segmentation, paging. Loading and linking, libraries. Resource allocation, scheduling, performance evaluation. File systems, storage devices, I/O systems. Protection, security, and privacy. Operating Systems and System Programming: Read More [+]

Instructors: Joseph, Kubiatowicz, Stoica

Operating Systems and System Programming: Read Less [-]

COMPSCI 164 Programming Languages and Compilers 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Survey of programming languages. The design of modern programming languages. Principles and techniques of scanning, parsing, semantic analysis, and code generation. Implementation of compilers, interpreters, and assemblers. Overview of run-time organization and error handling. Programming Languages and Compilers: Read More [+]

Prerequisites: COMPSCI 61B and COMPSCI 61C

Instructors: Bodik, Hilfinger, Necula

Programming Languages and Compilers: Read Less [-]

COMPSCI 168 Introduction to the Internet: Architecture and Protocols 4 Units

Terms offered: Spring 2024, Fall 2022, Spring 2020 This course is an introduction to the Internet architecture. We will focus on the concepts and fundamental design principles that have contributed to the Internet's scalability and robustness and survey the various protocols and algorithms used within this architecture. Topics include layering, addressing, intradomain routing, interdomain routing, reliable delivery, congestion control, and the core protocols (e.g., TCP, UDP, IP, DNS, and HTTP) and network technologies (e.g., Ethernet, wireless). Introduction to the Internet: Architecture and Protocols: Read More [+]

Prerequisites: COMPSCI 61B and COMPSCI 162

Instructors: Katz, Paxson, Ratnasamy, Shenker, Stoica

Introduction to the Internet: Architecture and Protocols: Read Less [-]

COMPSCI 169 Software Engineering 4 Units

Terms offered: Fall 2019, Spring 2019, Fall 2017 Ideas and techniques for designing, developing, and modifying large software systems. Function-oriented and object-oriented modular design techniques, designing for re-use and maintainability. Specification and documentation. Verification and validation. Cost and quality metrics and estimation. Project team organization and management. Students will work in teams on a substantial programming project. Software Engineering: Read More [+]

Prerequisites: COMPSCI 61B and COMPSCI 61C ; COMPSCI 70 or MATH 113

Instructors: Brewer, Fox, Necula, Sen

Software Engineering: Read Less [-]

COMPSCI 169A Introduction to Software Engineering 4 Units

Terms offered: Fall 2024, Summer 2024 8 Week Session, Fall 2023 Ideas and techniques for designing, developing, and modifying large software systems. Service-oriented architecture, behavior-driven design with user stories, cloud computing, test-driven development, automated testing, cost and quality metrics for maintainability and effort estimation, practical performance and security in software operations, design patterns and refactoring, specification and documentation, agile project team organization and management. Introduction to Software Engineering: Read More [+]

Student Learning Outcomes: Students will learn how to approach and add functionality to a legacy code base; Students will learn how to identify, measure, and resolve maintainability problems in code; Students will learn how to work with nontechnical customers and convert customer requirements into a software plan that can be effort-estimated, built, and deployed to the public cloud, including the use of behavior-driven design, user stories, and velocity; Students will learn how to write automated tests and measure test coverage; Students will learn practical security and performance considerations for SaaS applications. Students will learn the architecture and machinery of software as a service; the agile/XP methodology for software development and how it compares with other methodologies, including "Plan-and-document" methodologies; Students will learn the role of software design patterns in refactoring, and how to identify opportunities to use them;

Prerequisites: COMPSCI 61A and COMPSCI 61B ; COMPSCI 70 is recommended

Credit Restrictions: Students will receive no credit for COMPSCI 169A after completing COMPSCI 169 , or COMPSCI W169A . A deficient grade in COMPSCI 169A may be removed by taking COMPSCI 169 , or COMPSCI W169A .

Instructors: Fox, Fox, Ball

Introduction to Software Engineering: Read Less [-]

COMPSCI 169L Software Engineering Team Project 4 Units

Terms offered: Spring 2024, Spring 2023, Spring 2022 Open-ended design project enhancing or creating software for real customers in an agile team setting. Teamwork coordination, effective customer meetings, pre- and post-iteration team meetings, running scrums and standups, technical communication. Contributing as a team to an open-source project; tools and workflows associated with open source collaboration, including fork-and-pull, rebase, upstream merge, continuous deployment & inte gration. Software Engineering Team Project: Read More [+]

Course Objectives: Students will work in a team to develop new software or enhance existing software for a customer with a real business need.

Student Learning Outcomes: Students will learn how to conduct effective meetings with nontechnical customers and work with their feedback; Students will learn how to coordinate teamwork on developing, testing, and deploying features; and in most cases, how to approach a legacy codebase and add features to it. Students will learn to run a small team including rotation of team roles such as product owner, scrum master, and so on;

Prerequisites: COMPSCI 169A or COMPSCI W169A

Credit Restrictions: Students will receive no credit for COMPSCI 169L after completing COMPSCI 169 .

Fall and/or spring: 15 weeks - 3 hours of discussion and 8 hours of fieldwork per week

Summer: 8 weeks - 6 hours of discussion and 16 hours of fieldwork per week

Additional Format: Three hours of discussion and eight hours of fieldwork per week. Six hours of discussion and sixteen hours of fieldwork per week for 8 weeks.

Instructors: Fox, Sen

Software Engineering Team Project: Read Less [-]

COMPSCI W169A Software Engineering 3 Units

Terms offered: Summer 2021 8 Week Session, Fall 2020, Summer 2020 8 Week Session This course presents ideas and techniques for designing, developing, and modifying large software systems using Agile techniques and tools. Topics include: function-oriented and object-oriented modular design techniques, designing for re-use and maintainability including proper use of design patterns, behavior-driven design, test-driven development, user stories for requirements elicitation & documentation , verification and validation, cost and quality metrics and estimation, project team organization and management, analyzing and refactoring legacy code. Software Engineering: Read More [+]

Student Learning Outcomes: Students will learn how to apply BDD & TDD to identify the main parts of a legacy code base, measure code quality, and refactor code to improve its quality; Students will learn how to apply behavior-driven development (BDD) to elicit customer needs and express them as user stories that will drive development; Students will learn how to apply the key ideas of learning a new framework to construct and deploy simple Rails applications; Students will learn how to apply the key ideas of learning a new language in order to construct programs in Ruby; Students will learn how to construct unit- and module-level tests and measure their coverage; Students will learn how to exercise best practices in planning, effort estimation, and coordination of the efforts of small software teams, using appropriate tools to support those practices; Students will learn how to identify and repair potential app-level security and performance problems. Students will learn how to recognize when an appropriate Design Pattern may improve code quality, and refactor code to apply those Design Patterns; Students will learn how to summarize the key architectural elements of RESTful SaaS applications and microservices; Students will learn to articulate the primary differences between Agile and Plan-and-Document methodologies;

Prerequisites: COMPSCI 61A and COMPSCI 61B

Credit Restrictions: Students will receive no credit for COMPSCI W169A after completing COMPSCI 169 , or COMPSCI 169A . A deficient grade in COMPSCI W169A may be removed by taking COMPSCI 169 , or COMPSCI 169A .

Fall and/or spring: 15 weeks - 3 hours of web-based lecture and 1 hour of discussion per week

Summer: 8 weeks - 6 hours of web-based lecture and 0 hours of discussion per week

Additional Format: One hour of discussion and three hours of web-based lecture per week. Zero hour of discussion and six hours of web-based lecture per week for 8 weeks.

COMPSCI 170 Efficient Algorithms and Intractable Problems 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Concept and basic techniques in the design and analysis of algorithms; models of computation; lower bounds; algorithms for optimum search trees, balanced trees and UNION-FIND algorithms; numerical and algebraic algorithms; combinatorial algorithms. Turing machines, how to count steps, deterministic and nondeterministic Turing machines, NP-completeness. Unsolvable and intractable problems. Efficient Algorithms and Intractable Problems: Read More [+]

Prerequisites: COMPSCI 61B and COMPSCI 70

Instructors: Demmel, Papadimitriou, Rao, Wagner, Vazirani

Efficient Algorithms and Intractable Problems: Read Less [-]

COMPSCI 171 Cryptography 4 Units

Terms offered: Spring 2024, Spring 2021 Cryptography or cryptology is the science of designing algorithms and protocols for enabling parties to communicate and compute securely in an untrusted environment (e.g. secure communication, digital signature, etc.) Over the last four decades, cryptography has transformed from an ad hoc collection of mysterious tricks into a rigorous science based on firm complexity-theoretic foundations. This modern complexity-theoretic approach to cryptography will be the focus. E.g., in the context of encryption we will begin by giving a precise mathematical definition for what it means to be a secure encryption scheme and then give a construction (realizing this security notion) assuming various computational hardness assumptions (e.g. factoring). Cryptography: Read More [+]

Prerequisites: COMPSCI 70

Instructor: Garg

Cryptography: Read Less [-]

COMPSCI 172 Computability and Complexity 4 Units

Terms offered: Fall 2022, Spring 2022, Spring 2021 Finite automata, Turing machines and RAMs. Undecidable, exponential, and polynomial-time problems. Polynomial-time equivalence of all reasonable models of computation. Nondeterministic Turing machines. Theory of NP-completeness: Cook's theorem, NP-completeness of basic problems. Selected topics in language theory, complexity and randomness. Computability and Complexity: Read More [+]

Prerequisites: COMPSCI 170

Instructors: Papadimitriou, Seshia, Sinclair, Vazirani

Computability and Complexity: Read Less [-]

COMPSCI 174 Combinatorics and Discrete Probability 4 Units

Terms offered: Spring 2023, Spring 2022, Fall 2019 Permutations, combinations, principle of inclusion and exclusion, generating functions, Ramsey theory. Expectation and variance, Chebychev's inequality, Chernov bounds. Birthday paradox, coupon collector's problem, Markov chains and entropy computations, universal hashing, random number generation, random graphs and probabilistic existence bounds. Combinatorics and Discrete Probability: Read More [+]

Instructors: Bartlett, Papadimitriou, Sinclair, Vazirani

Combinatorics and Discrete Probability: Read Less [-]

COMPSCI 176 Algorithms for Computational Biology 4 Units

Terms offered: Fall 2020, Fall 2018, Fall 2017 Algorithms and probabilistic models that arise in various computational biology applications: suffix trees, suffix arrays, pattern matching, repeat finding, sequence alignment, phylogenetics, genome rearrangements, hidden Markov models, gene finding, motif finding, stochastic context free grammars, RNA secondary structure. There are no biology prerequisites for this course, but a strong quantitative background will be essential. Algorithms for Computational Biology: Read More [+]

Prerequisites: COMPSCI 70 and COMPSCI 170 ; experience programming in a language such as C, C++, Java, or Python

Instructor: Song

Algorithms for Computational Biology: Read Less [-]

COMPSCI C176 Algorithms for Computational Biology 4 Units

Terms offered: Fall 2022 This course will provide familiarity with algorithms and probabilistic models that arise in various computational biology applications, such as suffix trees, suffix arrays, pattern matching, repeat finding, sequence alignment, phylogenetics, hidden Markov models, gene finding, motif finding, linear/logistic regression, random forests, convolutional neural networks, genome-wide association studies, pathogenicity prediction, and sequence-to-epigenome prediction. Algorithms for Computational Biology: Read More [+]

Student Learning Outcomes: Understand the basic elements of molecular, cell, and evolutionary biology. Understand the key probabilistic and machine learning models used in computational biology applications. Understand various data structures and algorithms that arise in computational biology.

Prerequisites: COMPSCI 70 and COMPSCI 170 , MATH 54 or EECS 16A or an equivalent linear algebra course

Credit Restrictions: Students will receive no credit for COMPSCI C176 after completing COMPSCI 176 . A deficient grade in COMPSCI C176 may be removed by taking COMPSCI 176 .

Instructors: Song, Yun, Ioannidis

Also listed as: CMPBIO C176

COMPSCI C177 Algorithmic Economics 4 Units

Terms offered: Spring 2024 The class provides an introduction to algorithmic questions in economic design. The class will cover problems of public goods and social choice, as well as allocative questions and private consumption. The focus is on normative questions: From the perspective of social goals, these are efficiency, fairness, and equity. In terms of private goals, the focus is on revenue maximization. The course will cover voting, fair division, pricing and market mechanisms. There is an emphasis on the algorithmic questions that arise naturally in economic design. Algorithmic Economics: Read More [+]

Prerequisites: Students should be comfortable with formal mathematical proofs, and will be expected to write proofs on their own

Also listed as: ECON C147

Algorithmic Economics: Read Less [-]

COMPSCI 180 Intro to Computer Vision and Computational Photography 4 Units

Terms offered: Fall 2024, Fall 2023 This advanced undergraduate course introduces students to computing with visual data (images and video). We will cover acquisition, representation, and manipulation of visual information from digital photographs (image processing), image analysis and visual understanding (computer vision), and image synthesis (computational photography). Key algorithms will be presented, ranging from classical to contemporary, with an emphasis on using these techniques to build practical systems. The hands-on emphasis will be reflected in the programming assignments, where students will acquire their own images and develop, largely from scratch, image analysis and synthesis tools for real-world applications. Intro to Computer Vision and Computational Photography: Read More [+]

Course Objectives: Students will learn classic algorithms in image manipulation with Gaussian and Laplacian Pyramids, understand the hierarchy of image transformations including homographies, and how to warp an image with these transformations. Students will learn how to apply Convolutional Neural Networks for computer vision problems and how they can be used for image manipulation. Students will learn the fundamentals of 3D vision: stereo, multi-view geometry, camera calibration, structure-from-motion, multi-view stereo, and the plenoptic function. Students will learn the fundamentals of image processing from the mechanics of a pin-hole camera, representation of images as pixels, physics of light and the process of image formation, to manipulating the visual information using signal processing techniques in the spatial and frequency domains.

Student Learning Outcomes: After this class, students will be comfortable implementing, from scratch, these algorithms in modern programming languages and deep learning libraries.

Prerequisites: COMPSCI 61B , COMPSCI 70 , and MATH 53 (or other vector calculus course). MATH 54 , MATH 110 , or EECS 16A . COMPSCI 182 is strongly recommended

Instructors: Efros, Kanazawa

Intro to Computer Vision and Computational Photography: Read Less [-]

COMPSCI 182 Designing, Visualizing and Understanding Deep Neural Networks 4 Units

Terms offered: Fall 2023, Spring 2023, Fall 2022 Deep Networks have revolutionized computer vision, language technology, robotics and control. They have growing impact in many other areas of science and engineering. They do not however, follow a closed or compact set of theoretical principles. In Yann Lecun's words they require "an interplay between intuitive insights, theoretical modeling, practical implementations, empirical studies, and scientific analyses." This course attempts to cover that ground. Designing, Visualizing and Understanding Deep Neural Networks: Read More [+]

Student Learning Outcomes: Students will come to understand visualizing deep networks. Exploring the training and use of deep networks with visualization tools. Students will learn design principles and best practices: design motifs that work well in particular domains, structure optimization and parameter optimization. Understanding deep networks. Methods with formal guarantees: generative and adversarial models, tensor factorization.

Prerequisites: MATH 53 , MATH 54 , and COMPSCI 61B ; COMPSCI 70 or STAT 134 ; COMPSCI 189 is recommended

Credit Restrictions: Students will receive no credit for COMPSCI 182 after completing COMPSCI W182, or COMPSCI L182. A deficient grade in COMPSCI 182 may be removed by taking COMPSCI W182, or COMPSCI L182.

Instructor: Canny

Designing, Visualizing and Understanding Deep Neural Networks: Read Less [-]

COMPSCI 184 Foundations of Computer Graphics 4 Units

Terms offered: Spring 2024, Spring 2023, Spring 2022 Techniques of modeling objects for the purpose of computer rendering: boundary representations, constructive solids geometry, hierarchical scene descriptions. Mathematical techniques for curve and surface representation. Basic elements of a computer graphics rendering pipeline; architecture of modern graphics display devices. Geometrical transformations such as rotation, scaling, translation, and their matrix representations. Homogeneous coordinates, projective and perspective transformations. Algorithms for clipping, hidden surface removal, rasterization, and anti-aliasing. Scan-line based and ray-based rendering algorithms. Lighting models for reflection, refraction, transparency. Foundations of Computer Graphics: Read More [+]

Prerequisites: COMPSCI 61B or COMPSCI 61BL ; programming skills in C, C++, or Java; linear algebra and calculus

Credit Restrictions: Students will receive no credit for Comp Sci 184 after taking Comp Sci 284A.

Instructors: O'Brien, Ng

Foundations of Computer Graphics: Read Less [-]

COMPSCI 185 Deep Reinforcement Learning, Decision Making, and Control 3 Units

Terms offered: Not yet offered This course will cover the intersection of control, reinforcement learning, and deep learning. This course will provide an advanced treatment of the reinforcement learning formalism, the most critical model-free reinforcement learning algorithms (policy gradients, value function and Q-function learning, and actor-critic), a discussion of model-based reinforcement learning algorithms, an overview of imitation learning, and a range of advanced topics, including exploration, model-based learning with video prediction, transfer learning, multi-task learning, and meta-learning. Homework assignments will cover imitation learning, policy gradients, Q-learning, and model-based reinforcement learning, as well as a final project. Deep Reinforcement Learning, Decision Making, and Control: Read More [+]

Prerequisites: CS189/289A or equivalent is a prerequisite for the course. This course will assume some familiarity with reinforcement learning, numerical optimization and machine learning, as well as a basic working knowledge of how to train deep neural networks (which is taught in CS182 and briefly covered in CS189)

Instructor: Levine

Deep Reinforcement Learning, Decision Making, and Control: Read Less [-]

COMPSCI 186 Introduction to Database Systems 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Access methods and file systems to facilitate data access. Hierarchical, network, relational, and object-oriented data models. Query languages for models. Embedding query languages in programming languages. Database services including protection, integrity control, and alternative views of data. High-level interfaces including application generators, browsers, and report writers. Introduction to transaction processing. Database system implementation to be done as term project. Introduction to Database Systems: Read More [+]

Prerequisites: COMPSCI 61C or COMPSCI 47C . COMPSCI 47C may be taken as a co-requisite for transfer students

Credit Restrictions: Students will receive no credit for COMPSCI 186 after completing COMPSCI W186 . A deficient grade in COMPSCI 186 may be removed by taking COMPSCI W186 .

Instructors: Cheung, Hellerstein

Introduction to Database Systems: Read Less [-]

COMPSCI W186 Introduction to Database Systems 4 Units

Terms offered: Fall 2021, Spring 2021, Spring 2020 Broad introduction to systems for storing, querying, updating and managing large databases. Computer science skills synthesizing viewpoints from low-level systems architecture to high-level modeling and declarative logic. System internals, including the complex details of query optimization and execution, concurrency control, indexing, and memory management. More abstract issues in query languages and data modeling – students are exposed to formal relational languages, SQL, full-text search, entity-relationship modeling, normalization, and physical database design. Recent technological trends in the field, including “Big Data” programming libraries like MapReduce, and distributed key-value stores with various consistency models. Introduction to Database Systems: Read More [+]

Credit Restrictions: Students will receive no credit for COMPSCI W186 after completing COMPSCI 186 . A deficient grade in COMPSCI W186 may be removed by taking COMPSCI 186 .

Summer: 8 weeks - 6 hours of web-based lecture and 2 hours of discussion per week

Additional Format: One hour of discussion and three hours of web-based lecture per week. Two hours of discussion and six hours of web-based lecture per week for 8 weeks.

Instructor: Hellerstein

COMPSCI 188 Introduction to Artificial Intelligence 4 Units

Terms offered: Fall 2024, Summer 2024 8 Week Session, Spring 2024 Ideas and techniques underlying the design of intelligent computer systems. Topics include search, game playing, knowledge representation, inference, planning, reasoning under uncertainty, machine learning, robotics, perception, and language understanding. Introduction to Artificial Intelligence: Read More [+]

Prerequisites: COMPSCI 61A , COMPSCI 61B , and COMPSCI 70

Instructors: Abbeel, Klein, Russell

Introduction to Artificial Intelligence: Read Less [-]

COMPSCI 189 Introduction to Machine Learning 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Theoretical foundations, algorithms, methodologies, and applications for machine learning. Topics may include supervised methods for regression and classication (linear models, trees, neural networks, ensemble methods, instance-based methods); generative and discriminative probabilistic models; Bayesian parametric learning; density estimation and clustering; Bayesian networks; time series models; dimensionality reduction; programming projects covering a variety of real-world applications. Introduction to Machine Learning: Read More [+]

Prerequisites: MATH 53 and MATH 54 ; and COMPSCI 70 or consent of instructor

Credit Restrictions: Students will receive no credit for Comp Sci 189 after taking Comp Sci 289A.

Instructors: Abbeel, Bartlett, Darrell, El Ghaoui, Jordan, Klein, Malik, Russell

Introduction to Machine Learning: Read Less [-]

COMPSCI C191 Introduction to Quantum Computing 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 This multidisciplinary course provides an introduction to fundamental conceptual aspects of quantum mechanics from a computational and informational theoretic perspective, as well as physical implementations and technological applications of quantum information science. Basic sections of quantum algorithms, complexity, and cryptography, will be touched upon, as well as pertinent physical realizations from nanoscale science and engineering. Introduction to Quantum Computing: Read More [+]

Prerequisites: Linear Algebra ( EECS 16A or PHYSICS 89 or MATH 54 ) AND either discrete mathematics ( COMPSCI 70 or MATH 55 ), or quantum mechanics ( PHYSICS 7C or PHYSICS 137A or CHEM 120A )

Also listed as: CHEM C191/PHYSICS C191

Introduction to Quantum Computing: Read Less [-]

COMPSCI 194 Special Topics 1 - 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Topics will vary semester to semester. See the Computer Science Division announcements. Special Topics: Read More [+]

Summer: 8 weeks - 2-8 hours of lecture per week

Additional Format: One to four hours of lecture per week. Two to eight hours of lecture per week for 8 weeks.

COMPSCI 195 Social Implications of Computer Technology 1 Unit

Terms offered: Fall 2023, Spring 2023, Fall 2022 Topics include electronic community; the changing nature of work; technological risks; the information economy; intellectual property; privacy; artificial intelligence and the sense of self; pornography and censorship; professional ethics. Students will lead discussions on additional topics. Social Implications of Computer Technology: Read More [+]

Credit Restrictions: Students will receive no credit for 195 after taking C195/Interdisciplinary Field Study C155 or H195.

Fall and/or spring: 15 weeks - 1.5 hours of lecture per week

Additional Format: Three hours of lecture/discussion per week.

Instructor: Harvey

Social Implications of Computer Technology: Read Less [-]

COMPSCI H195 Honors Social Implications of Computer Technology 3 Units

Terms offered: Fall 2024, Fall 2023, Spring 2023 Topics include electronic community; the changing nature of work; technological risks; the information economy; intellectual property; privacy; artificial intelligence and the sense of self; pornography and censorship; professional ethics. Students may lead discussions on additional topics. Honors Social Implications of Computer Technology: Read More [+]

Credit Restrictions: Student will receive no credit for H195 after taking 195 or C195.

Fall and/or spring: 15 weeks - 1.5 hours of lecture and 1.5 hours of discussion per week

Additional Format: One and one-half hours of Lecture and One and one-half hours of Discussion per week for 15 weeks.

Honors Social Implications of Computer Technology: Read Less [-]

COMPSCI H196A Senior Honors Thesis Research 1 - 4 Units

Terms offered: Fall 2021, Fall 2020, Fall 2016 Thesis work under the supervision of a faculty member. To obtain credit the student must, at the end of two semesters, submit a satisfactory thesis to the Electrical Engineering and Computer Science department archive. A total of four units must be taken. The units many be distributed between one or two semesters in any way. H196A-H196B count as graded technical elective units, but may not be used to satisfy the requirement for 27 upper division technical units in the College of Letters and Science with a major in Computer Science. Senior Honors Thesis Research: Read More [+]

Prerequisites: Open only to students in the computer science honors program

Fall and/or spring: 15 weeks - 1-4 hours of independent study per week

Additional Format: Individual research.

Senior Honors Thesis Research: Read Less [-]

COMPSCI H196B Senior Honors Thesis Research 1 - 4 Units

Terms offered: Spring 2023, Spring 2010, Spring 2009 Thesis work under the supervision of a faculty member. To obtain credit the student must, at the end of two semesters, submit a satisfactory thesis to the Electrical Engineering and Computer Science department archive. A total of four units must be taken. The units many be distributed between one or two semesters in any way. H196A-H196B count as graded technical elective units, but may not be used to satisfy the requirement for 27 upper division technical units in the College of Letters and Science with a major in Computer Science. Senior Honors Thesis Research: Read More [+]

COMPSCI 197 Field Study 1 - 4 Units

Terms offered: Fall 2024, Fall 2023, Spring 2019 Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation. Field Study: Read More [+]

COMPSCI 198 Directed Group Studies for Advanced Undergraduates 1 - 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Group study of selected topics in Computer Sciences, usually relating to new developments. Directed Group Studies for Advanced Undergraduates: Read More [+]

Prerequisites: 2.0 GPA or better; 60 units completed

Additional Format: Course format varies with section.

Directed Group Studies for Advanced Undergraduates: Read Less [-]

COMPSCI 199 Supervised Independent Study 1 - 4 Units

Terms offered: Fall 2021, Spring 2020, Fall 2018 Supervised independent study. Enrollment restrictions apply. Supervised Independent Study: Read More [+]

Prerequisites: Consent of instructor and major adviser

Credit Restrictions: Enrollment is restricted; see the Introduction to Courses and Curricula section of this catalog.

Additional Format: Individual conferences.

Supervised Independent Study: Read Less [-]

EL ENG 24 Freshman Seminar 1 Unit

Terms offered: Fall 2022, Fall 2021, Fall 2017 The Freshman Seminar Program has been designed to provide new students with the opportunity to explore an intellectual topic with a faculty member in a small seminar setting. Freshman seminars are offered in all campus departments, and topics may vary from department to department and semester to semester. Freshman Seminar: Read More [+]

Fall and/or spring: 15 weeks - 1 hour of seminar per week

Additional Format: One hour of Seminar per week for 15 weeks.

Subject/Course Level: Electrical Engineering/Undergraduate

Freshman Seminar: Read Less [-]

EL ENG 25 What Electrical Engineers Do--Feedback from Recent Graduates 1 Unit

Terms offered: Fall 2011 A Berkeley Electrical Engineering and Computer Sciences degree opens the door to many opportunities, but what exactly are they? Graduation is only a few years away and it's not too early to find out. In this seminar students will hear from practicing engineers who recently graduated. What are they working on? Are they working in a team? What do they wish they had learned better? How did they find their jobs? What Electrical Engineers Do--Feedback from Recent Graduates: Read More [+]

Fall and/or spring: 15 weeks - 1 hour of lecture per week

Additional Format: One hour of Lecture per week for 15 weeks.

Instructor: Boser

What Electrical Engineers Do--Feedback from Recent Graduates: Read Less [-]

EL ENG 39 Freshman/Sophomore Seminar 2 - 4 Units

Terms offered: Spring 2023, Fall 2022, Spring 2022 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+]

Additional Format: Two to four hours of seminar per week.

EL ENG 42 Introduction to Digital Electronics 3 Units

Terms offered: Fall 2013, Summer 2013 8 Week Session, Spring 2013 This course serves as an introduction to the principles of electrical engineering, starting from the basic concepts of voltage and current and circuit elements of resistors, capacitors, and inductors. Circuit analysis is taught using Kirchhoff's voltage and current laws with Thevenin and Norton equivalents. Operational amplifiers with feedback are introduced as basic building blocks for amplication and filtering. Semiconductor devices including diodes and MOSFETS and their IV characteristics are covered. Applications of diodes for rectification, and design of MOSFETs in common source amplifiers are taught. Digital logic gates and design using CMOS as well as simple flip-flops are introduced. Speed and scaling issues for CMOS are considered. The course includes as motivating examples designs of high level applications including logic circuits, amplifiers, power supplies, and communication links. Introduction to Digital Electronics: Read More [+]

Prerequisites: Mathematics 1B

Credit Restrictions: Students will receive no credit for 42 after taking 40 or 100.

Additional Format: Three hours of Lecture and One hour of Discussion per week for 15 weeks. Six hours of Lecture and Two hours of Discussion per week for 8 weeks.

Introduction to Digital Electronics: Read Less [-]

EL ENG 49 Electronics for the Internet of Things 4 Units

Terms offered: Spring 2020, Spring 2019, Fall 2018 Electronics has become pervasive in our lives as a powerful technology with applications in a wide range of fields including healthcare, environmental monitoring, robotics, or entertainment. This course teaches how to build electronic circuits that interact with the environment through sensors and actuators and how to communicate wirelessly with the internet to cooperate with other devices and with humans. In the laboratory students design and build representative samples such as solar harvesters, robots, that exchange information with or are controlled from the cloud. Electronics for the Internet of Things: Read More [+]

Course Objectives: Electronics has become a powerful and ubiquitous technology supporting solutions to a wide range of applications in fields ranging from science, engineering, healthcare, environmental monitoring, transportation, to entertainment. The objective of this course is to teach students majoring in these and related subjects how to use electronic devices to solve problems in their areas of expertise. Through the lecture and laboratory, students gain insight into the possibilities and limitations of the technology and how to use electronics to help solve problems. Students learn to use electronics to interact with the environment through sound, light, temperature, motion using sensors and actuators, and how to use electronic computation to orchestrate the interactions and exchange information wirelessly over the internet.

Student Learning Outcomes: Deploy electronic sensors and interface them to microcontrollers through digital and analog channels as well as common protocols (I2C, SPI), Design, build and test electronic devices leveraging these concepts. Interact with the internet and cloud services using protocols such as http, MQTT, Blynk, Interface DC motors, steppers and servos to microcontrollers, Represent information with voltage, current, power, and energy and how to measure these quantities with laboratory equipment, To use and program low-cost and low-power microcontrollers for sensing, actuation, and information processing, and find and use program libraries supporting these tasks Understand and make basic low-pass and high-pass filters, Wheatstone bridge etc. Use electronics to sense and actuate physical parameters such as temperature, humidity, sound, light, and motion,

Prerequisites: ENGIN 7 , COMPSCI 10 , or equivalent background in computer programming (including COMPSCI 61A or COMPSCI C8 / INFO C8 / STAT C8 ); MATH 1A or equivalent background in Calculus

Additional Format: Three hours of lecture and three hours of laboratory and two hours of discussion per week.

Electronics for the Internet of Things: Read Less [-]

EL ENG 84 Sophomore Seminar 1 or 2 Units

Terms offered: Fall 2022, Spring 2022, Fall 2021 Sophomore seminars are small interactive courses offered by faculty members in departments all across the campus. Sophomore seminars offer opportunity for close, regular intellectual contact between faculty members and students in the crucial second year. The topics vary from department to department and semester to semester. Enrollment limited to 15 sophomores. Sophomore Seminar: Read More [+]

Summer: 6 weeks - 2.5-5 hours of seminar per week 8 weeks - 1.5-3.5 hours of seminar per week

Additional Format: unit(s):one hour of seminar per week; 2 unit(s):two hours of seminar per week. unit(s):one and one-half hours of seminar per week; 2 unit(s):three hours of seminar per week for 10 weeks. unit(s):one and one-half hours of seminar per week; 2 unit(s):three and one-half hours of seminar per week for 8 weeks. unit(s):two and one-half hours of seminar per week; 2 unit(s):five hours of seminar per week for 6 weeks. unit(s):three hours of seminar per week; 2 unit(s):six hours of seminar per week for five weeks.

EL ENG 97 Field Study 1 - 4 Units

Terms offered: Spring 2016, Fall 2015, Spring 2015 Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation. Field Study: Read More [+]

EL ENG 98 Directed Group Study for Undergraduates 1 - 4 Units

Terms offered: Fall 2021, Fall 2020, Fall 2016 Group study of selected topics in electrical engineering, usually relating to new developments. Directed Group Study for Undergraduates: Read More [+]

Additional Format: Course format varies.

Directed Group Study for Undergraduates: Read Less [-]

EL ENG 99 Individual Study and Research for Undergraduates 1 - 4 Units

Terms offered: Spring 2016, Fall 2015, Spring 2015 Supervised independent study and research for students with fewer than 60 units completed. Individual Study and Research for Undergraduates: Read More [+]

Prerequisites: Freshman or sophomore standing and consent of instructor. Minimum GPA of 3.4 required

Additional Format: One to four hours of independent study per week. One to four hours of independent study per week for 8 weeks. One to five hours of independent study per week for 6 weeks.

EL ENG 105 Microelectronic Devices and Circuits 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 This course covers the fundamental circuit and device concepts needed to understand analog integrated circuits. After an overview of the basic properties of semiconductors, the p-n junction and MOS capacitors are described and the MOSFET is modeled as a large-signal device. Two port small-signal amplifiers and their realization using single stage and multistage CMOS building blocks are discussed. Sinusoidal steady-state signals are introduced and the techniques of phasor analysis are developed, including impedance and the magnitude and phase response of linear circuits. The frequency responses of single and multi-stage amplifiers are analyzed. Differential amplifiers are introduced. Microelectronic Devices and Circuits: Read More [+]

Credit Restrictions: Students will receive no credit for EL ENG 105 after completing EL ENG 240A , or EL ENG 140 .

Additional Format: Three hours of Lecture, One hour of Discussion, and Three hours of Laboratory per week for 15 weeks.

Microelectronic Devices and Circuits: Read Less [-]

EL ENG C106A Introduction to Robotics 4 Units

Terms offered: Fall 2017, Fall 2016, Fall 2015 An introduction to the kinematics, dynamics, and control of robot manipulators, robotic vision, and sensing. The course covers forward and inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics, and control. It presents elementary principles on proximity, tactile, and force sensing, vision sensors, camera calibration, stereo construction, and motion detection. The course concludes with current applications of robotics in active perception, medical robotics, and other areas. Introduction to Robotics: Read More [+]

Prerequisites: EL ENG 120 or consent of instructor

Instructor: Bajcsy

Formerly known as: Electrical Engineering C125/Bioengineering C125

Also listed as: BIO ENG C125

EL ENG C106B Robotic Manipulation and Interaction 4 Units

Terms offered: Spring 2017, Spring 2016 This course is a sequel to Electrical Engineering C106A/Bioengineering C125, which covers kinematics, dynamics and control of a single robot. This course will cover dynamics and control of groups of robotic manipulators coordinating with each other and interacting with the environment. Concepts will include an introduction to grasping and the constrained manipulation, contacts and force control for interaction with the environment. We will also cover active perception guided manipulation, as well as the manipulation of non-rigid objects. Throughout, we will emphasize design and human-robot interactions, and applications to applications in manufacturing, service robotics, tele-surgery, and locomotion. Robotic Manipulation and Interaction: Read More [+]

Prerequisites: EECS C106A / BIO ENG C125 or consent of the instructor

Additional Format: Three hours of lecture and three hours of laboratory and one hour of discussion per week.

Instructors: Bajcsy, Sastry

Also listed as: BIO ENG C125B

EL ENG 108 Introduction to Electric Power and Renewable Energy 4 Units

Terms offered: Spring 2024 This course is designed to provide an introduction to electric power conversion, distribution, and generation with renewable energy sources. The course will introduce fundamental concepts in the area of electric power, such as complex and reactive power, phasors, impedance, magnetic circuits and transformers, power factor, power quality, three-phase power, ac-dc conversion, and a conceptual overview of renewable energy and the integration of sustainable energy sources on the electric grid.Real world applications, ranging from ground-fault circuit interrupters to residential power distribution and solar photovoltaic dc-ac inverters will be explored in live lecture demonstration. Introduction to Electric Power and Renewable Energy: Read More [+]

Prerequisites: Differential equations and linear algebra (Math 54 or equivalent). Electricity and magnetism (Physics 7B or equivalent). Introduction to electric circuits (EE 16AB or equivalent). Students should enter the course with a basic working knowledge of RLC circuits

Instructor: Pilawa

Introduction to Electric Power and Renewable Energy: Read Less [-]

EL ENG 113 Power Electronics 4 Units

Terms offered: Fall 2024, Fall 2023, Fall 2022 Power conversion circuits and techniques. Characterization and design of magnetic devices including transformers, reactors, and electromagnetic machinery. Characteristics of bipolar and MOS power semiconductor devices. Applications to motor control, switching power supplies, lighting, power systems, and other areas as appropriate. Power Electronics: Read More [+]

Prerequisites: EL ENG 105 or background in circuit analysis (KVL, KCL, voltage/current relationships, etc.)

Instructors: Pilawa, Boles

Power Electronics: Read Less [-]

EL ENG 113B Power Electronics Design 4 Units

Terms offered: Spring 2024 This course is the second in a two-semester series to equip students with the skills needed to analyze, design, and prototype power electronic converters. While EE 113/213A provides an overview of power electronics fundamentals and applications, EE 113B/213B focuses on the practical design and hardware implementation of power converters. The primary focus of EE 113B/213B is time in the laboratory, with sequential modules on topics such as power electronic components, PCB layout, closed-loop control, and experimental validation. At the end of the course, students will have designed, prototyped, and validated a power converter from scratch, demonstrating a skill set that is critical for power electronics engineers in research and industry. Power Electronics Design: Read More [+]

Fall and/or spring: 15 weeks - 1.5 hours of lecture and 6 hours of laboratory per week

Additional Format: One and one-half hours of lecture and six hours of laboratory per week.

Instructor: Boles

Power Electronics Design: Read Less [-]

EL ENG 117 Electromagnetic Fields and Waves 4 Units

Terms offered: Spring 2024, Spring 2023, Spring 2022 Review of static electric and magnetic fields and applications; Maxwell's equations; transmission lines; propagation and reflection of plane waves; introduction to guided waves, microwave networks, and radiation and antennas. Minilabs on statics, transmission lines, and waves. Explanation of cellphone antennas, WiFi communication, and other wireless technologies. Electromagnetic Fields and Waves: Read More [+]

Prerequisites: EECS 16B , MATH 53 , and MATH 54 ; PHYSICS 7B or equivalent that covers AC circuits and electromagnetics up to Maxwell's equations

Additional Format: Three hours of lecture and one hour of discussion and two hours of laboratory per week.

Instructor: Yablonovitch

Electromagnetic Fields and Waves: Read Less [-]

EL ENG 118 Introduction to Optical Engineering 4 Units

Terms offered: Fall 2024, Fall 2023, Fall 2022 Fundamental principles of optical systems. Geometrical optics and aberration theory. Stops and apertures, prisms, and mirrors. Diffraction and interference. Optical materials and coatings. Radiometry and photometry. Basic optical devices and the human eye. The design of optical systems. Lasers, fiber optics, and holography. Introduction to Optical Engineering: Read More [+]

Prerequisites: MATH 53 ; EECS 16A and EECS 16B , or MATH 54

Credit Restrictions: Students will receive no credit for Electrical Engineering 118 after taking Electrical Engineering 218A. A deficient grade in Electrical Engineering 119 may be removed by taking Electrical Engineering 118.

Instructors: Waller, Kante

Introduction to Optical Engineering: Read Less [-]

EL ENG 120 Signals and Systems 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Continuous and discrete-time transform analysis techniques with illustrative applications. Linear and time-invariant systems, transfer functions. Fourier series, Fourier transform, Laplace and Z-transforms. Sampling and reconstruction. Solution of differential and difference equations using transforms. Frequency response, Bode plots, stability analysis. Illustrated by analysis of communication systems and feedback control systems. Signals and Systems: Read More [+]

Fall and/or spring: 15 weeks - 4 hours of lecture and 1 hour of recitation per week

Additional Format: Four hours of Lecture and One hour of Recitation per week for 15 weeks.

Signals and Systems: Read Less [-]

EL ENG 121 Introduction to Digital Communication Systems 4 Units

Terms offered: Spring 2016, Fall 2014, Fall 2013 Introduction to the basic principles of the design and analysis of modern digital communication systems. Topics include source coding, channel coding, baseband and passband modulation techniques, receiver design, and channel equalization. Applications to design of digital telephone modems, compact disks, and digital wireless communication systems. Concepts illustrated by a sequence of MATLAB exercises. Introduction to Digital Communication Systems: Read More [+]

Prerequisites: EECS 16A , EECS 16B , and COMPSCI 70

Introduction to Digital Communication Systems: Read Less [-]

EL ENG 122 Introduction to Communication Networks 4 Units

Terms offered: Spring 2024, Spring 2023, Spring 2022 This course focuses on the fundamentals of the wired and wireless communication networks. The course covers both the architectural principles for making these networks scalable and robust, as well as the key techniques essential for analyzing and designing them. The topics include graph theory, Markov chains, queuing, optimization techniques, the physical and link layers, switching, transport, cellular networks and Wi-Fi. Introduction to Communication Networks: Read More [+]

Introduction to Communication Networks: Read Less [-]

EL ENG 123 Digital Signal Processing 4 Units

Terms offered: Spring 2024, Spring 2023, Spring 2022 Discrete time signals and systems: Fourier and Z transforms, DFT, 2-dimensional versions. Digital signal processing topics: flow graphs, realizations, FFT, chirp-Z algorithms, Hilbert transform relations, quantization effects, linear prediction. Digital filter design methods: windowing, frequency sampling, S-to-Z methods, frequency-transformation methods, optimization methods, 2-dimensional filter design. Digital Signal Processing: Read More [+]

Prerequisites: EL ENG 120

Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 1 hour of laboratory per week

Additional Format: Three hours of Lecture, One hour of Discussion, and One hour of Laboratory per week for 15 weeks.

Digital Signal Processing: Read Less [-]

EL ENG 126 Probability and Random Processes 4 Units

Terms offered: Spring 2017, Fall 2016, Spring 2016 This course covers the fundamentals of probability and random processes useful in fields such as networks, communication, signal processing, and control. Sample space, events, probability law. Conditional probability. Independence. Random variables. Distribution, density functions. Random vectors. Law of large numbers. Central limit theorem. Estimation and detection. Markov chains. Probability and Random Processes: Read More [+]

EL ENG C128 Feedback Control Systems 4 Units

Terms offered: Spring 2024, Spring 2023, Spring 2022 Analysis and synthesis of linear feedback control systems in transform and time domains. Control system design by root locus, frequency response, and state space methods. Applications to electro-mechanical and mechatronics systems. Feedback Control Systems: Read More [+]

Prerequisites: EECS 16A or MEC ENG 100 ; MEC ENG 132 or EL ENG 120

Also listed as: MEC ENG C134

Feedback Control Systems: Read Less [-]

EL ENG 130 Integrated-Circuit Devices 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Overview of electronic properties of semiconductor. Metal-semiconductor contacts, pn junctions, bipolar transistors, and MOS field-effect transistors. Properties that are significant to device operation for integrated circuits. Silicon device fabrication technology. Integrated-Circuit Devices: Read More [+]

Credit Restrictions: Students will receive no credit for El Eng 130 after taking El Eng 230A.

Integrated-Circuit Devices: Read Less [-]

EL ENG 134 Fundamentals of Photovoltaic Devices 4 Units

Terms offered: Spring 2024, Spring 2023, Spring 2022 This course is designed to give an introduction to, and overview of, the fundamentals of photovoltaic devices. Students will learn how solar cells work, understand the concepts and models of solar cell device physics, and formulate and solve relevant physical problems related to photovoltaic devices. Monocrystalline, thin film and third generation solar cells will be discussed and analyzed. Light management and economic considerations in a solar cell system will also be covered. Fundamentals of Photovoltaic Devices: Read More [+]

Prerequisites: EECS 16A and EECS 16B ; or Math 54 and Physics 7B; or equivalent

Instructor: Arias

Fundamentals of Photovoltaic Devices: Read Less [-]

EL ENG 137A Introduction to Electric Power Systems 4 Units

Terms offered: Fall 2024, Fall 2023, Fall 2022 Overview of conventional electric power conversion and delivery, emphasizing a systemic understanding of the electric grid with primary focus at the transmission level, aimed toward recognizing needs and opportunities for technological innovation. Topics include aspects of a.c. system design, electric generators, components of transmission and distribution systems, power flow analysis, system planning and operation, performance measures, and limitations of legacy technologies. Introduction to Electric Power Systems: Read More [+]

Prerequisites: Physics 7B; EECS 16A and EECS 16B , or consent of instructor

Instructor: von Meier

Introduction to Electric Power Systems: Read Less [-]

EL ENG 137B Introduction to Electric Power Systems 4 Units

Terms offered: Spring 2023, Spring 2022, Spring 2021 Overview of recent and potential future evolution of electric power systems with focus on new and emerging technologies for power conversion and delivery, primarily at the distribution level. Topics include power electronics applications, solar and wind generation, distribution system design and operation, electric energy storage, information management and communications, demand response, and microgrids. Introduction to Electric Power Systems: Read More [+]

Prerequisites: EL ENG 137A or consent of instructor

EL ENG 140 Linear Integrated Circuits 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Single and multiple stage transistor amplifiers. Operational amplifiers. Feedback amplifiers, 2-port formulation, source, load, and feedback network loading. Frequency response of cascaded amplifiers, gain-bandwidth exchange, compensation, dominant pole techniques, root locus. Supply and temperature independent biasing and references. Selected applications of analog circuits such as analog-to-digital converters, switched capacitor filters, and comparators. Hardware laboratory and design project. Linear Integrated Circuits: Read More [+]

Prerequisites: EL ENG 105

Credit Restrictions: Students will receive no credit for El Eng 140 after taking El Eng 240A.

Instructors: Alon, Sanders

Linear Integrated Circuits: Read Less [-]

EL ENG 142 Integrated Circuits for Communications 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Analysis and design of electronic circuits for communication systems, with an emphasis on integrated circuits for wireless communication systems. Analysis of noise and distortion in amplifiers with application to radio receiver design. Power amplifier design with application to wireless radio transmitters. Radio-frequency mixers, oscillators, phase-locked loops, modulators, and demodulators. Integrated Circuits for Communications: Read More [+]

Prerequisites: EECS 16A , EECS 16B , and EL ENG 105

Credit Restrictions: Students will receive no credit for El Eng 142 after taking El Eng 242A.

Integrated Circuits for Communications: Read Less [-]

EL ENG 143 Microfabrication Technology 4 Units

Terms offered: Spring 2024, Fall 2023, Spring 2023 Integrated circuit device fabrication and surface micromachining technology. Thermal oxidation, ion implantation, impurity diffusion, film deposition, expitaxy, lithography, etching, contacts and interconnections, and process integration issues. Device design and mask layout, relation between physical structure and electrical/mechanical performance. MOS transistors and poly-Si surface microstructures will be fabricated in the laboratory and evaluated. Microfabrication Technology: Read More [+]

Prerequisites: PHYSICS 7B

Additional Format: Three hours of Lecture and Three hours of Laboratory per week for 15 weeks.

Microfabrication Technology: Read Less [-]

EL ENG 144 Fundamental Algorithms for Systems Modeling, Analysis, and Optimization 4 Units

Terms offered: Fall 2015, Fall 2014, Fall 2013 The modeling, analysis, and optimization of complex systems requires a range of algorithms and design software. This course reviews the fundamental techniques underlying the design methodology for complex systems, using integrated circuit design as example. Topics include design flows, discrete and continuous models and algorithms, and strategies for implementing algorithms efficiently and correctly in software. Laboratory assignments and a class project will expose students to state-of-the-art tools. Fundamental Algorithms for Systems Modeling, Analysis, and Optimization: Read More [+]

Prerequisites: EECS 16A and COMPSCI 70 , or consent of instructor

Fall and/or spring: 15 weeks - 4 hours of lecture per week

Additional Format: Four hours of lecture per week.

Instructors: Keutzer, Lee, Roychowdhury, Seshia

Fundamental Algorithms for Systems Modeling, Analysis, and Optimization: Read Less [-]

EL ENG C145B Medical Imaging Signals and Systems 4 Units

Terms offered: Fall 2024, Fall 2023, Fall 2022 Biomedical imaging is a clinically important application of engineering, applied mathematics, physics, and medicine. In this course, we apply linear systems theory and basic physics to analyze X-ray imaging, computerized tomography, nuclear medicine, and MRI. We cover the basic physics and instrumentation that characterizes medical image as an ideal perfect-resolution image blurred by an impulse response. This material could prepare the student for a career in designing new medical imaging systems that reliably detect small tumors or infarcts. Medical Imaging Signals and Systems: Read More [+]

Prerequisites: Prerequisites are introductory level skills in Python/Matlab; and either EECS 16A , EECS 16B , and EL ENG 120 ; or MATH 54 , BIO ENG 105 , and BIO ENG 101

Instructor: Conolly

Also listed as: BIO ENG C165

Medical Imaging Signals and Systems: Read Less [-]

EL ENG C145L Introductory Electronic Transducers Laboratory 3 Units

Terms offered: Fall 2014, Fall 2013, Fall 2012 Laboratory exercises exploring a variety of electronic transducers for measuring physical quantities such as temperature, force, displacement, sound, light, ionic potential; the use of circuits for low-level differential amplification and analog signal processing; and the use of microcomputers for digital sampling and display. Lectures cover principles explored in the laboratory exercises; construction, response and signal to noise of electronic transducers and actuators; and design of circuits for sensing and controlling physical quantities. Introductory Electronic Transducers Laboratory: Read More [+]

Fall and/or spring: 15 weeks - 2 hours of lecture and 3 hours of laboratory per week

Additional Format: Two hours of Lecture and Three hours of Laboratory per week for 15 weeks.

Instructor: Derenzo

Also listed as: BIO ENG C145L

Introductory Electronic Transducers Laboratory: Read Less [-]

EL ENG C145M Introductory Microcomputer Interfacing Laboratory 3 Units

Terms offered: Spring 2013, Spring 2012, Spring 2011 Laboratory exercises constructing basic interfacing circuits and writing 20-100 line C programs for data acquisition, storage, analysis, display, and control. Use of the IBM PC with microprogrammable digital counter/timer, parallel I/O port. Circuit components include anti-aliasing filters, the S/H amplifier, A/D and D/A converters. Exercises include effects of aliasing in periodic sampling, fast Fourier transforms of basic waveforms, the use of the Hanning filter for leakage reduction, Fourier analysis of the human voice, digital filters, and control using Fourier deconvolution. Lectures cover principles explored in the lab exercises and design of microcomputer-based systems for data acquisitions, analysis and control. Introductory Microcomputer Interfacing Laboratory: Read More [+]

Prerequisites: EE 16A & 16B

Also listed as: BIO ENG C145M

Introductory Microcomputer Interfacing Laboratory: Read Less [-]

EL ENG C145O Laboratory in the Mechanics of Organisms 3 Units

Terms offered: Spring 2015, Spring 2014, Spring 2013, Spring 2012 Introduction to laboratory and field study of the biomechanics of animals and plants using fundamental biomechanical techniques and equipment. Course has a series of rotations involving students in experiments demonstrating how solid and fluid mechanics can be used to discover the way in which diverse organisms move and interact with their physical environment. The laboratories emphasize sampling methodology, experimental design , and statistical interpretation of results. Latter third of course devoted to independent research projects. Written reports and class presentation of project results are required. Laboratory in the Mechanics of Organisms: Read More [+]

Prerequisites: INTEGBI 135 or consent of instructor. For Electrical Engineering and Computer Sciences students: EL ENG 105 , EL ENG 120 or COMPSCI 184

Credit Restrictions: Students will receive no credit for C135L after taking 135L.

Fall and/or spring: 15 weeks - 6 hours of laboratory, 1 hour of discussion, and 1 hour of fieldwork per week

Additional Format: Six hours of laboratory and one hour of discussion per week, plus one field trip.

Formerly known as: Integrative Biology 135L

Also listed as: BIO ENG C136L/INTEGBI C135L

Laboratory in the Mechanics of Organisms: Read Less [-]

EL ENG 146L Application Specific Integrated Circuits Laboratory 2 Units

Terms offered: Spring 2015 This is a lab course that covers the design of modern Application-Specific Integrated Circuits (ASICs). The labs lay the foundation of modern digital design by first setting-up the scripting and hardware description language base for specification of digital systems and interactions with tool flows. Software testing of digital designs is covered leading into a set of labs that cover the design flow. Digital synthesis, floorplanning, placement and routing are covered , as well as tools to evaluate design timing and power. Chip-level assembly is covered, instantiation of custom IP blocks: I/O pads, memories, PLLs, etc. The labs culminate with a project design – implementation of a 3-stage RISC-V processor with register file and caches. Application Specific Integrated Circuits Laboratory: Read More [+]

Course Objectives: This course is a one-time offering to supplement the CS150 course offered in the Fall 2014, with a lab and project section that cover the Application-Specific Integrated Circuit Design. The CS150 lectures in the Fall 2014 already covered the necessary lecture material, so students who took the CS150 lab in the Fall of 2014 will have a chance to expand their skills into the area of Application-Specific Integrated Circuit design. Hence the pre-requisite for this course is that a student has taken the CS150 course in the Fall 2014.

Prerequisites: EECS 16B ; EL ENG 105 recommended

Credit Restrictions: Students will receive no credit for Electrical Engineering 146L after taking Fall 2014 version of Electrical Engineering 141/241A.

EL ENG 147 Introduction to Microelectromechanical Systems (MEMS) 3 Units

Terms offered: Fall 2024, Fall 2023, Fall 2022 This course will teach fundamentals of micromachining and microfabrication techniques, including planar thin-film process technologies, photolithographic techniques, deposition and etching techniques, and the other technologies that are central to MEMS fabrication. It will pay special attention to teaching of fundamentals necessary for the design and analysis of devices and systems in mechanical, electrical, fluidic, and thermal energy/signal domains , and will teach basic techniques for multi-domain analysis. Fundamentals of sensing and transduction mechanisms including capacitive and piezoresistive techniques, and design and analysis of micmicromachined miniature sensors and actuators using these techniques will be covered. Introduction to Microelectromechanical Systems (MEMS): Read More [+]

Credit Restrictions: Students will receive no credit for El Eng 147 after taking El Eng 247A.

Instructors: Maharbiz, Nguyen, Pister

Introduction to Microelectromechanical Systems (MEMS): Read Less [-]

EL ENG 192 Mechatronic Design Laboratory 4 Units

Terms offered: Spring 2021, Spring 2020, Spring 2019 Design project course, focusing on application of theoretical principles in electrical engineering to control of a small-scale system, such as a mobile robot. Small teams of students will design and construct a mechatronic system incorporating sensors, actuators, and intelligence. Mechatronic Design Laboratory: Read More [+]

Prerequisites: EECS 16A , EECS 16B , COMPSCI 61A , COMPSCI 61B , COMPSCI 61C , and EL ENG 120

Fall and/or spring: 15 weeks - 1.5 hours of lecture and 10 hours of laboratory per week

Additional Format: One and one-half hours of Lecture and Ten hours of Laboratory per week for 15 weeks.

Instructor: Fearing

Mechatronic Design Laboratory: Read Less [-]

EL ENG 194 Special Topics 1 - 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Topics will vary semester to semester. See the Electrical Engineering announcements. Special Topics: Read More [+]

Additional Format: One to four hours of lecture per week.

EL ENG H196A Senior Honors Thesis Research 1 - 4 Units

Terms offered: Spring 2016, Fall 2015, Spring 2015 Thesis work under the supervision of a faculty member. A minimum of four units must be taken; the units may be distributed between one and two semesters in any way. To obtain credit a satisfactory thesis must be submitted at the end of the two semesters to the Electrical and Engineering and Computer Science Department archive. Students who complete four units and a thesis in one semester receive a letter grade at the end of H196A. Students who do not, receive an IP in H196A and must enroll in H196B. Senior Honors Thesis Research: Read More [+]

Prerequisites: Open only to students in the Electrical Engineering and Computer Science honors program

Grading/Final exam status: Letter grade. This is part one of a year long series course. A provisional grade of IP (in progress) will be applied and later replaced with the final grade after completing part two of the series. Final exam required.

EL ENG H196B Senior Honors Thesis Research 1 - 4 Units

Terms offered: Spring 2016, Spring 2015, Spring 2014 Thesis work under the supervision of a faculty member. A minimum of four units must be taken; the units may be distributed between one and two semesters in any way. To obtain credit a satisfactory thesis must be submitted at the end of the two semesters to the Electrical and Engineering and Computer Science Department archive. Students who complete four units and a thesis in one semester receive a letter grade at the end of H196A. Students who do not, receive an IP in H196A and must enroll in H196B. Senior Honors Thesis Research: Read More [+]

Grading/Final exam status: Letter grade. This is part two of a year long series course. Upon completion, the final grade will be applied to both parts of the series. Final exam required.

EL ENG 197 Field Study 1 - 4 Units

Terms offered: Fall 2024, Fall 2023, Fall 2022 Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation. Field Study: Read More [+]

EL ENG 198 Directed Group Study for Advanced Undergraduates 1 - 4 Units

Terms offered: Fall 2024, Spring 2024, Fall 2023 Group study of selected topics in electrical engineering, usually relating to new developments. Directed Group Study for Advanced Undergraduates: Read More [+]

Additional Format: To vary with section.

Directed Group Study for Advanced Undergraduates: Read Less [-]

EL ENG 199 Supervised Independent Study 1 - 4 Units

Terms offered: Spring 2023, Fall 2018, Spring 2018 Supervised independent study. Enrollment restrictions apply. Supervised Independent Study: Read More [+]

Contact Information

Department of electrical engineering and computer science.

253 Cory Hall

Phone: 510-664-4436

Letters & Science

http://ls-advise.berkeley.edu/major/compsci.html

College of Engineering

Phone: 510-642-3214

Fax: 510-643-7846

http://www.eecs.berkeley.edu/

Department Chair

Claire Tomlin, PhD

721 Sutardja Dai Hall

Phone: 510-643-6610

[email protected]

EECS Associate Chair

Clark Nguyen, PhD

574 Cory Hall

Phone: 510-642-6251

[email protected]

David Wagner, PhD

733 Soda Hall

Phone: 510-642-2758

[email protected]

Executive Director, Center for Student Affairs

Susanne Kauer

221 Cory Hall

Phone: 510-642-3694

[email protected]

Director of Undergraduate Affairs and Advising

Antoine Davis

377 Soda Hall

Phone: 510-642-7214

[email protected]

Director of Student Diversity

Audrey Sillers

Phone: 510-664-7181

[email protected]

Director of Undergraduate Student Instruction

Christopher Hunn

Phone: (510) 664-7546

[email protected]

CS Scholars Program Associate Director/CS Advisor

Charlene Duncan

349 Soda Hall

Phone: 510-642-2357

[email protected]

Assistant Director of Undergraduate Affairs and Advising

Cs scheduler.

Cindy Conners

Phone: 510-643-6002

[email protected]

Computer Science Advisor

Carol Marshall

Leslie Mach

Phone: 510-664-4600

Print Options

When you print this page, you are actually printing everything within the tabs on the page you are on: this may include all the Related Courses and Faculty, in addition to the Requirements or Overview. If you just want to print information on specific tabs, you're better off downloading a PDF of the page, opening it, and then selecting the pages you really want to print.

The PDF will include all information unique to this page.

Texas A&M University Catalogs

Computer science - bs.

The four-year undergraduate curriculum in Computer Science at Texas A&M provides a sound preparation in computing, as well as in science, mathematics, English, and statistics. Students take a broad set of core computer science courses in the early semesters, which exposes them to the main concepts in computing. During the later semesters, students take elective computer science courses drawn from four tracks (algorithms and theory, computer systems, software, and information and intelligent systems) to provide both breadth and depth. The electives can be used to tailor the curriculum to match the student’s interests. Graduate courses may be taken by qualified students for some of the electives.

A major in Computer Science includes an area of concentration that allows students to design a course of study that complements their computer science coursework and takes advantage of opportunities offered by other departments across the university.

Program Mission

The mission of the computer science program is to prepare intellectual, professional and ethical graduates, capable of meeting challenges in the field of computer science.

Program Educational Objectives

The Program Educational Objectives of the BS in Computer Science program describe what the program’s graduates are expected to attain within a few years of graduation:

  • Graduates will use computer science principles to identify and solve emerging technological and societal problems.
  • Graduates who choose to enter the workforce will become technological leaders and innovators in their fields.
  • Graduates who choose to pursue advanced degrees will gain admission to and succeed in prestigious graduate programs.
  • Graduates will engage in life-long learning to adapt to new technologies, tools, and methodologies needed to respond to a changing world.

This program is approved to be offered at the Texas A&M University at Galveston campus. 

The freshman year is identical for degrees in aerospace engineering, architectural engineering, civil engineering, computer engineering, computer science, electrical engineering, electronic systems engineering technology, environmental engineering, industrial distribution, industrial engineering, interdisciplinary engineering, manufacturing and mechanical engineering technology, mechanical engineering, multidisciplinary engineering technology, nuclear engineering, ocean engineering, and petroleum engineering (Note: not all programs listed are offered in Qatar). The freshman year is slightly different for chemical engineering, biomedical engineering and materials science and engineering degrees in that students take CHEM 119 or CHEM 107 / CHEM 117 and CHEM 120 .  Students pursuing degrees in biological and agricultural engineering should refer to the specific curriculum for this major. It is recognized that many students will change the sequence and number of courses taken in any semester. Deviations from the prescribed course sequence, however, should be made with care to ensure that prerequisites for all courses are met.

A grade of C or better is required.

Entering students will be given a math placement exam. Test results will be used in selecting the appropriate starting course which may be at a higher or lower level.

Of the 21 hours shown as University Core Curriculum electives, 3 must be from creative arts (see AREN curriculum for more information), 3 from social and behavioral sciences (see IDIS curriculum for more information), 3 from language, philosophy and culture (see CVEN, EVEN and PETE curriculum for more information), 6 from American history and 6 from government/political science. The required 3 hours of international and cultural diversity and 3 hours of cultural discourse may be met by courses satisfying the creative arts, social and behavioral sciences, language, philosophy and culture, and American history requirements if they are also on the approved list of international and cultural diversity courses and cultural discourse courses.

BMEN, CHEN and MSEN require 8 hours of fundamentals of chemistry which are satisfied with  CHEM 119 or CHEM 107 / CHEM 117 and CHEM 120 ; Students with an interest in BMEN, CHEN and MSEN can take CHEM 120 second semester freshman year.  CHEM 120 will substitute for CHEM 107 / CHEM 117 .

For BS-PETE, allocate 3 hours to core communications course ( ENGL 210 , COMM 203 , COMM 205 , or COMM 243 ) and/or 3 hours to UCC elective. For BS-MEEN, allocate 3 hours to core communications course ( ENGL 203 , ENGL 210 , or COMM 205 ) and/or 3 hours to UCC elective.

If the student takes ENGR 217/PHYS 217 and PHYS 207 , the 3 hours of PHYS 207 go towards the science requirement along with 1 hour of ENGR 217/PHYS 217 .  The other hour of ENGR 217/PHYS 217 can be used as general elective.

See advisor for list of acceptable science courses.

The emphasis area should be chosen only after consultation with a departmental advisor who will help the student arrange a program appropriate to his or her plans following graduation. Students should file a degree plan before taking minor courses to ensure their use in the degree plan.

Of the 18 hours shown as Computer science electives, 3 must be from systems directed electives, 3 must be from software directed electives, 3 must be from info/intel systems directed electives, 6 must be from upper level CSCE electives, and 3 must be from CSCE electives. See advisor for list of acceptable course choices.

All students are required to complete a high-impact experience in order to graduate. The list of possible high-impact experiences is available in the CSCE advising office.

Total Program Hours 126

Skip to Content

Leeds School of Business  logo

  • Undergraduate Programs
  • Graduate Programs
  • Faculty & Research

Other ways to search:

  • Events Calendar

Leeds School of Business  logo

  • Sample Four-Year Plans

You are here

Leeds academic advising offers in-person and remote advising..

Advisors are available for in-person as well as video (Zoom) advising appointments and drop-ins.  Schedule appointments with your academic advisor here . 

  • Please send advising questions via email to your advisor or to [email protected] .
  • Current CU student interested in Transferring to Leeds? Click here to sign up for Prospective IUT Group Advising.

If you'd like to plan out how your next semesters will look, you can use the 4 year plan for your area of emphasis, or fill in your classes and create your own plan by using the Blank 4 year plan.

  • Accounting (BAM) 4 year plan
  • Accounting (Non BAM) 4 year plan
  • Computer Science & Business Integration 4 year plan
  • Finance 4 year plan
  • Finance 4 year plan (accelerated)
  • Finance PFP 4 year plan
  • Business Analytics 4 year plan
  • Management - Information Mgmt and Analytics Track 4 year plan
  • Management - Leadership Track 4 year plan
  • Management - Operations Mgmt Track 4 year plan
  • Management - Strategy and Entrepreneurship Track 4 year plan
  • Management - Social Responsibility and Sustainability Track 4 year plan
  • Management - Talent Mgmt Track 4 year plan
  • Marketing 4 year plan
  • Real Estate 4 year plan
  • Sample 4 year plan
  • Management - Business Analytics Track 4 year plan
  • Management Information 4 year plan
  • Management Leadership 4 year plan
  • Management Operations 4 year plan
  • Management SET 4 year plan
  • Management Talent 4 year plan
  • Sample 4 year plan STUDY ABROAD
  • All Areas of Emphasis 4-year plan BS in Business Administration
  • All Areas of Emphasis 4-year plan BS in Business Administration - with a semester abroad
  • Accounting 4-year Plan 
  • Finance 4-year Plan
  • Management (Talent Management) 4-year Plan
  • Management (Strategy & Entrepreneurship) 4-year Plan
  • Management (Information Management) 4-year Plan
  • Management (Operations) 4-year Plan
  • Management (Leadership) 4-year Plan
  • Marketing 4-year Plan
  • Open Option 4-year Plan
  • Open Option 4-year plan
  • Open Option 4-year Plan
  • Accounting 4-year Plan
  • Management (Human Resources) 4-year Plan

Additional Resources:

Use Degree Audit as a planning tool to make sure you are taking the necessary courses to graduate on time. Login to MyCUInfo, click the "Student" tab and then click "Get your Degree Audit." Your audit will show you what classes you've already taken, what is in progress, and what you still need to complete. If you have questions about your audit, or are worried that you may not be taking the right courses, see your advisor. Transfer credit may show up in the wrong category until it has been evaluated. Please point this out to your advisor.

If you have a MAPS deficiency, there are specific courses you'll need to take that are approved for MAPS, Please consult your degree audit, class search, and academic advisor for help determining which classes satisfy your MAPS requirement.

If your progress sheet or degree audit shows a MAPS deficiency, but you know you took the required courses in high school, you can submit an appeal asking that your MAPS be re-evaluated through the admissions office. Visit their website for information and petition form.

  • Registration and Zoom Drop-In Hours
  • First-Year Student Advising
  • Meet with an Academic Advisor
  • Meet With a Peer Advisor
  • Undergraduate Degree Information
  • Academic Policies - Undergraduate
  • Graduation Information
  • Study Abroad
  • Transfer to Leeds (IUT)

Request Info

  • Admissions Overview
  • Visit UMass Boston
  • Financial Aid
  • First-Year Students
  • Transfer Students
  • Graduate Students
  • International Students
  • Academics Overview
  • Majors & Programs
  • Online Learning
  • Colleges & Schools
  • Academic Calendar
  • Healey Library
  • Student Equity, Access & Success
  • Global Programs
  • Study Abroad
  • Fellowships
  • Campus Life Overview
  • Student Groups & Activities
  • Housing & Dining
  • Health & Wellness
  • Diversity & Inclusion
  • Safety & Security
  • Orientation & New Students
  • Research Overview
  • Community-Driven Research
  • Recognizing Excellence
  • Student Research
  • Centers & Institutes
  • Core Facilities
  • Research & Sponsored Programs
  • About Overview
  • Leadership & Administration
  • Mission & Vision
  • Facts & Figures
  • Accreditation & Rankings
  • History of UMass Boston
  • Student Consumer Information
  • Athletics Overview
  • Recreation at UMass Boston
  • Current Students
  • Parents & Families
  • Faculty & Staff

UMass Boston

computer science business plan

  • Computer Science MS

Prepare for a professional career in software development.

UMass Boston's Computer Science master's program thoroughly prepares students for a professional career in software development. This established and innovative program stresses the integration of theoretical knowledge with practical applications. Our Computer Science MS graduates are in high demand with major tech sector employers and startups.

Capstone Requirement

To complete the MS program, students must participate in a software development project by taking the software development sequence (CS680, CS681, and CS682). In general, this sequence is taken during the last two semesters in the MS program. The project is approved by a committee that consists of two faculty members (professors who are currently teaching the software development course and supervise the software development laboratory) and the Graduate Program Director.

In exceptional circumstances, students with significant industrial experience may request a waiver of the software development requirement by applying to a faculty committee established for this purpose. As a part of the waiver application, the student must present a portfolio demonstrating the nature of this experience. Students who receive a waiver will be required to complete an MS thesis.

Start Your Application

Plan Your Education

How to apply.

Applicants must meet general graduate admission requirements in addition to the following program-specific requirements:

  • A minimum, cumulative GPA of 2.75 on a 4.0 scale (or international equivalent) in all undergraduate work
  • A bachelor’s degree from a regionally accredited U.S. institution of recognized standing or an international equivalent at the time of enrollment
  • Official GRE score
  • Official transcripts for all institutions where you have earned more than 6 credits. If your transcript is in a language other than English, please include an English translation, validated by an official public translator.
  • Statement of Purpose
  • Two letters of recommendation
  • Applicants who completed the majority of their undergraduate coursework outside of the United States are typically required to submit official TOEFL, IELTS, PTE or Duolingo English proficiency test scores.

Deadlines & Cost

Deadlines: June 1 for fall, December 1 for spring

Application Fee: The nonrefundable application fee is $75. UMass Boston alumni and current students that plan to complete degree requirements prior to graduate enrollment can submit the application without paying the application fee.

Program Cost Information: Bursar's website

Object-Oriented Software Development (6 Credits)

  • CS 681 - Object-Oriented Software Development 3 Credit(s)
  • CS 682 - Software Development Laboratory I 3 Credit(s)

Theoretical Electives (6 Credits)

Take two from below.

  • CS 620 - Theory of Computation 3 Credit(s)
  • CS 622 - Theory of Formal Languages 3 Credit(s)
  • CS 624 - Analysis of Algorithms 3 Credit(s)
  • CS 720 - Logical Foundations of Computer Science 3 Credit(s)
  • CS 724 - Topics in Algorithm Theory and Design 3 Credit(s)

Undergraduate Courses (see Undergraduate Catalog for descriptions):

  • CS 420 Introduction to the Theory of Computation
  • MATH 470 Mathematical Logic

Applied Electives (18 Credits)

Take six from below.

Student approved for a master’s thesis may take three credits of CS 699 - Research for MS Thesis.

  • CS 613 - Applied Cryptography 3 Credit(s)
  • CS 615 - User Interface Design 3 Credit(s)
  • CS 630 - Database Management Systems 3 Credit(s)
  • CS 634 - Architecture of Database Systems 3 Credit(s)
  • CS 636 - Database Application Development 3 Credit(s)
  • CS 637 - Database-Backed Websites 3 Credit(s)
  • CS 646 - Computer Communications Networks 3 Credit(s)
  • CS 648 - Wireless Networks and Mobile Computing 3 Credit(s)
  • CS 651 - Compiler 3 Credit(s)
  • CS 670 - Artificial Intelligence 3 Credit(s)
  • CS 672 - Neural Networks 3 Credit(s)
  • CS 675 - Computer Vision 3 Credit(s)
  • CS 680 - Object-Oriented Design and Programming 3 Credit(s)
  • CS 410 Introduction to Software Engineering
  • CS 411 Competitive Programming
  • CS 444 Operating Systems
  • CS 446 Introduction to Internetworking
  • CS 450 Structure of Higher Level Languages
  • CS 445 Real-Time Systems
  • CS 460 Graphics

Graduation Criteria

Complete a minimum of 30 credits from at least ten courses including two object-oriented software development courses, two theoretical electives, and at least six applied electives.

Capstone: Complete a software engineering project as part of CS 681 and 682 or a master’s thesis which requires a minimum GPA of 3.5 and approval of the graduate program director. GPA: A minimum GPA of 3.0 is required from all courses applied toward the program. A student may not choose to take an additional course in lieu of a course in which he or she has earned a low grade. Minimum grade: No courses with a grade below C may be applied toward the program. No more than two courses with a grade below B- may be applied toward the program. Course level: At least 24 credits for the program must be from courses at the 600-level or higher. With the exception of CS 485, all 400-level computer science courses are considered graduate-level courses. Statute of limitations: Seven years.

Graduate Program Director Dan Simovici dan.simovici [at] umb.edu (617) 287-6472

Administrative Assistant Gemma Galecia gemma.galecia [at] umb.edu (617) 287-6441

Group of students work on laptops in cafeteria.

Computer Science

Learn more about UMass Boston's Computer Science department, our research, and our faculty.

computer science business plan

College of Science & Mathematics

Learn more about the faculty, research, and programs that make up our College of Science and Mathematics.

IMAGES

  1. Computer Science Strategic Plan:

    computer science business plan

  2. Information Technology Business PLAN

    computer science business plan

  3. PCS Business Plan

    computer science business plan

  4. Computer Science and E-business

    computer science business plan

  5. Get Strong Statement of Purpose for Computer Science Easily

    computer science business plan

  6. 2021 Progression Plan for Commerce Computer Science

    computer science business plan

VIDEO

  1. Computer Science and Business System Subjects 1st Year to 4th Year, Syllabus, Important Subjects

  2. Complete Roadmap to Become a Data Scientist in 2023 ||

  3. CRYPTO SCIENCE Company Full Plan || CRYPTO SCIENCE FULL PLAN VIDEO

  4. Computer Science & Business System

  5. Career Guidance/CSBS(computer science &Business system Department?/Scope எப்படி?|Job கிடைக்குமா?

  6. NEW COURSES 2019

COMMENTS

  1. Computer Science and Business Administration, BS

    The computer science and business combined major delivers a technical degree with a strong grounding in business. Students will complete most of the requirements of a business major, including macroeconomics and microeconomics, while also focusing on technical skills like program design, software development, computer organization, systems and networks, theories of computation, principles of ...

  2. Computer Science and Business Administration

    Explore Academic ProgramsComputer Science and Business AdministrationThe combined Bachelor of Science degree program in computer science/business administration offers qualified students the opportunity to gain an educational foundation in both areas. The degree cannot also be combined as an additional major in either computer science or business administration. The degree is administered by ...

  3. Computer Science with Business Applications (CSBA) Major

    The Computer Science with Business Applications major is designed to provide students with a broad background in science and humanities and to provide an understanding of fundamental principles of computing and modern computing technology. It prepares the student for professional work with computer systems and business environments.

  4. B.S. Program

    The combined Bachelor of Science degree program in Computer Science / Business Administration offers qualified students the opportunity to gain an educational foundation in both areas. Students must meet the admission requirements for both the Computer Science department and the Marshall School of Business.

  5. Computer Programming Business Plan Example

    5.2 Marketing Strategy. William Kerl and Diane Huber will approach the 120 production companies that are currently producing video games. A marketing CD has been created for these presentations. William and Diane have begun the process of presenting their company's services to gaming production companies.

  6. Computer Science & Business (B.S.)

    Depth in curriculum: The program is the only one of its kind to be accredited in both computer science and in business. Students obtain the skills and training needed to understand business functions and business-related problems, to analyze business-user information needs, to design computer-based information systems and to implement systems solutions in business organizations.

  7. Program: Computer Science/Business Administration (BS)

    The combined Bachelor of Science degree program in computer science/business administration offers qualified students the opportunity to gain an educational foundation in both areas. The degree cannot also be combined as an additional major in either computer science or business administration. The degree is administered by the Computer Science ...

  8. University of California Santa Cruz

    Information and Policies Introduction The bachelor of science (B.S.) program is appropriate for students desiring a strong concentration in the core areas of computer science—algorithms, programming languages, and systems—with more courses in computer science, computer engineering, and computational media; this program also allows for a few electives outside of science and engineering.

  9. Home

    What is Texas CSB? Texas Honors Computer Science and Business (Texas CSB), a new integrated honors degree program between the Canfield Business Honors Program and the Department of Computer Science. Texas CSB provides a rigorous four-year undergraduate curriculum aimed at preparing students for top technology careers.

  10. PDF BS.CPSC.BUS

    2023-2024 BS.CPSC.BUS - Bachelor of Science in Computer Science, Business Specialization Sample 4 Year Educational Plan This is a sample and not the only way to complete this plan. Number of credits are in parentheses. *Some classes have prerequisites. Year 1 Fall Winter Spring Steps for Success CPSC 1420 Programming and Problem Solving I (5)

  11. Computer Science, B.S. < University of California Irvine

    Computer Science, B.S. The Computer Science major emphasizes the principles of computing that underlie our modern world, and provides a strong foundational education to prepare students for the broad spectrum of careers in computing. This major can serve as preparation for either graduate study or a career in industry.

  12. IT Company Business Plan Template & How-To Guide [Updated 2024]

    Traditionally, a marketing plan includes the four P's: Product, Price, Place, and Promotion. For an IT business plan, your marketing strategy should include the following: Product: In the product section, you should reiterate the type of IT company that you documented in your company overview.

  13. PDF Computer Science with Business Applications

    Suggested Course Plan for a UC Riverside Major in Catalog Year: 2021 Course Plan is subject to change. Please note that Technical Electives may be offered ... Computer Science w/Business Applications Technical Electives Computer Science Technical Electives: CS 105 Data Analysis Methods (4) CS 164* Computer Networks (4) ...

  14. CS + Business, B.S., Four-Year Plan < University of Wisconsin-Platteville

    Computer Science Major, B.S. » CS + Business, B.S., Four-Year Plan; CS + Business, B.S., Four-Year Plan. Below is a sample degree plan that can be used as a guide to identify courses required to fulfill the major and other requirements needed for degree completion. The following is only an example and represents a possible course sequence for ...

  15. Bachelor of Science in Computer Science

    BS in Computer Science (BSCS), 2021‐2022 Catalog Math Elective 3 hours of Math electives See list of approved courses on second page Foreign CSE 3315Language If required, two semesters of the same language 6 Technical Elective courses out of which at least one must be CSE 4305 Compilers, CSE 4303 Computer Graphics or CSE 4360 Robotics.

  16. Computer Sciences, B.S. < University of Wisconsin-Madison

    DECLARATION REQUIREMENTS. To declare the computer sciences major, students must meet the following requirements 1:. Completion of COMP SCI 300 and either MATH 222 or MATH 276; Grade of BC or higher in one of these introductory programming courses, taken at UW-Madison: COMP SCI 300, COMP SCI/ E C E 354 or COMP SCI 400 2.250 GPA or higher among the first completed attempts of these courses: COMP ...

  17. Computer Science < University of California, Berkeley

    There are two ways to study Computer Science (CS) at UC Berkeley: Be admitted to the Electrical Engineering & Computer Sciences (EECS) major in the College of Engineering (COE) as a freshman. Admission to the COE, however, is extremely competitive. This option leads to a Bachelor of Science (BS) degree. This path is appropriate for people who ...

  18. Computer Science

    Students should file a degree plan before taking minor courses to ensure their use in the degree plan. 9 . Of the 18 hours shown as Computer science electives, 3 must be from systems directed electives, 3 must be from software directed electives, 3 must be from info/intel systems directed electives, 6 must be from upper level CSCE electives ...

  19. PDF Strategic Plan

    1. Computer Science: Past, Present, and Future The field of computer science started some fifty years ago, with the recognition that computing on a digital machine was distinctly different from other engineering and scientific disciplines. Early computer science research was often inward-looking, treating computers as machines for number

  20. PDF Sample Four-Year Plan for a BS in Computer Science

    Sample Four-Year Plan for a BS in Computer Science Fall Semester Spring Semester F r e s h m a n Y e a r CS 110 - 4 cr Math 140 - 4 cr First Year Seminar - 4 cr English 101 - 3 cr ... Computer Science BS Course Number Guide This course guide provides the detailed names of courses listed by number on the four-year plans. It

  21. Sample Four-Year Plans

    Management - Talent Mgmt Track 4 year plan. Marketing 4 year plan. Real Estate 4 year plan. Sample 4 year plan. For Students admitted to the Academic Years 2020-2021 & 2021-2022. Accounting (BAM) 4 year plan. Accounting (Non BAM) 4 year plan. Computer Science & Business Integration 4 year plan. Finance 4 year plan.

  22. Business Plan: What It Is + How to Write One

    1. Executive summary. This short section introduces the business plan as a whole to the people who will be reading it, including investors, lenders, or other members of your team. Start with a sentence or two about your business, development goals, and why it will succeed. If you are seeking funding, summarise the basics of the financial plan. 2.

  23. Computer Science MS

    Prepare for a professional career in software development. UMass Boston's Computer Science master's program thoroughly prepares students for a professional career in software development. This established and innovative program stresses the integration of theoretical knowledge with practical applications. Our Computer Science MS graduates are ...

  24. Will the total solar eclipse disrupt your cell service?

    And other major providers such as Verizon and T-Mobile echo AT&T's confidence ahead of Monday's celestial spectacle. "We do not expect any impact from the 2024 solar eclipse on the operation ...