Download presentation
Presentation is loading. Please wait.
1
What do Computer Scientists and Engineers do? CS101 Regular Lecture, Week 10
2
Computer Science The significance of Computer Science has little to do with Computers! The significance of Computer Science has little to do with Computers! –Computer revolution is a revolution in the way we think, and in the way we express what we think Computer Science is about “Computation” Computer Science is about “Computation” –Computer Science provides a framework of dealing precisely with “how to” –Computer Scientist discover ‘algorithms’ Computer Science is not ‘Programming’ Computer Science is not ‘Programming’ –We use programming languages to convey steps for solving a problem to a computer –Crux of a Computer Scientist’s work is time spent in discovering these steps or algorithms
3
Algorithms An algorithm procedure or formula for solving a problem An algorithm procedure or formula for solving a problem Example: Adding two positive integers a and b Example: Adding two positive integers a and b 1.If b = 0, return a 2.Increment a by 1 3.Decrement b by 1 4.Go to Step 1 http://en.wikipedia.org/wiki/Algorithm
4
Software Engineering Software engineering is concerned with the conception, development and verification of a software system Software engineering is concerned with the conception, development and verification of a software system Identifying, Defining, Realizing, Verifying the required characteristics of software Identifying, Defining, Realizing, Verifying the required characteristics of software Some important software characteristics: Some important software characteristics: –functionality, reliability, maintainability, availability, testability, ease-of-use, portability Important part of the work of a software engineer is preparing design and technical specifications Important part of the work of a software engineer is preparing design and technical specifications
5
Software Development Process Requirement Analysis Requirement Analysis –Eliciting, Analyzing and Recording of requirements through interviews, focus groups, prototyping, –Business intelligence needs to be captured –Sometimes also involves Business Process Re-engineering –Results in Software Requirements Specification (SRS) document Specification Specification –Precisely describing the software to be written Software Architecture Software Architecture –An abstract representation of the system in terms of modules Implementation Implementation –Reducing a design to code Testing Testing –Also referred to as Quality Assurance (QA) –Often conducted by a separate team –Black box and White Box Methodologies Documentation Documentation –often overlooked, but extremely important Software Training and Support Software Training and Support Maintenance Maintenance –Very important component. About 2/3 rd of all software engineering work is maintenance
6
Databases and Information Systems Database: Collection of records stored in a computer in a systematic way Database: Collection of records stored in a computer in a systematic way –Collection of records, each record having several fields –Database can be queried to extract relevant data Relational Model: Relational Model: –Represents all information in terms of multiple tables that are related to each other Database Management System (DBMS), often simply called ‘database’, is the software that provides management of data Database Management System (DBMS), often simply called ‘database’, is the software that provides management of data A Database Transaction: A Database Transaction: –a unit of interaction with DBMS –May involve several queries –E.g. a debit/credit transaction on an ATM –Simultaneous transactions can run into concurrency problems and need to be managed properly Information Systems may have one or more databases at their core Information Systems may have one or more databases at their core –Enterprise Resource Planning (ERP) systems integrate data and processes of an organization into a single system
8
US Department of Labor, Bureau of Labor Statistics: Job Outlook for Next 10 Years (2004-2014) Job Description Expected Growth through 2014 Computer and Information Systems Managers Faster than average Computer Programmers (2 year degrees) More slowly than average Computer Software Engineers As fast as Average Computer Support Specialists Faster than Average System Administrators Much faster than average Computer Systems Analysts Much faster than average Computer Scientists and Database Administrators Much faster than average Key Areas for the next 10 years: Network Management Network Management Cyber Security Cyber Security Electronic Commerce Electronic Commerce Internet technologies Internet technologies Mobile Applications Mobile ApplicationsStatement Projected Increase much faster than average > 27% Faster than average 18 – 26 % As fast as average 9 – 17 % More slowly than average 0 – 8 % Decline Decrease by any amount [http://www.bls.gov/oco/ocos258.htm#outlook]
9
Jobs in Computer Science Computer and Information Systems Managers Computer and Information Systems Managers –plan, coordinate, and direct research and facilitate the computer-related activities of firms –They direct the work of systems analysts, computer programmers, support specialists, and other computer-related workers –Chief Technology Officers, MIS directors, Project Managers, LAN/WAN managers –Need strong communication and management skills http://www.bls.gov/oco/ocos258.htm
10
Jobs in Computer Science Computer Programmers Computer Programmers –People who actually write and maintain the code –They code according to specifications prepared by software engineers and system analysts Software Engineers Software Engineers –analyze users’ needs and design, construct, test, and maintain computer applications software or systems –Computer Applications Software Engineers –Computer Systems Software Engineers Computer Systems Analysts Computer Systems Analysts –Analyze the needs of an organization with regards to software, and prepare software requirement specifications (SRS) –Plan and develop new computer systems
11
Jobs in Computer Science Computer Support Specialists and System Administrators Computer Support Specialists and System Administrators –Provide technical support to keep an organizations computer systems running Computer Scientists: Computer Scientists: –Theoreticians, inventors, researchers Database Administrators Database Administrators –Work with DBMS to determine ways to organize and store data Network Administrators Network Administrators –Design and maintain networks, deal with security issues and constant threats from hackers
12
Computer Engineering A discipline that combines both electrical engineering and computer science A discipline that combines both electrical engineering and computer science They may be considered as electrical engineers with more training in computer hardware and software, but lesser training in some areas of EE, like device physics, or power electronics They may be considered as electrical engineers with more training in computer hardware and software, but lesser training in some areas of EE, like device physics, or power electronics –Computer Programming + Hardware –A lot of programming that a computer engineer may do may be in low- level languages like assembly Computer Engineers design computer hardware, and systems Computer Engineers design computer hardware, and systems Areas of work: Microprocessor design, Embedded systems, interfacing etc. Areas of work: Microprocessor design, Embedded systems, interfacing etc. –Embedded Systems: a special purpose system in which the computer is completely encapsulated in the device it controls –Interfacing: Communication boundary between computer and other devices Examples: DSP (sound), genome sequencing (chemistry), Industrial Process Control, Motorway example, CNC Machining, VLSI design, FPGA systems, robotics Examples: DSP (sound), genome sequencing (chemistry), Industrial Process Control, Motorway example, CNC Machining, VLSI design, FPGA systems, robotics
13
An embedded System http://en.wikipedia.org/wiki/Image:ADSL_modem_router_internals_labeled.jpg
14
References http://en.wikipedia.org/wiki/Algorithm http://en.wikipedia.org/wiki/Algorithm http://en.wikipedia.org/wiki/Software_dev elopment_process http://en.wikipedia.org/wiki/Software_dev elopment_process http://en.wikipedia.org/wiki/Software_req uirements_analysis http://en.wikipedia.org/wiki/Software_req uirements_analysis http://en.wikipedia.org/wiki/Software_req uirements_analysis http://en.wikipedia.org/wiki/Software_req uirements_analysis
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.