Software engineering (SE) is the profession of people who create and maintain software systems by applying technologies and practices from computer science, project management, engineering, application domains and other fields.
Software engineering deals with matters of cost and reliability, like traditional engineering disciplines. Some software applications contain millions of lines of code that are expected to perform properly in the face of changing conditions, making them comparable in complexity to the most complex modern machines. For example, a modern airliner has several million physical partsBoeing 747, By the Numbers "Six million: the number of parts, half of which are fasteners." (and the space shuttle about ten million parts p. 33: "A Boeing 747 roughly 3.5 million [parts... the apogee (and nightmare) of mechanical complexity is the space shuttle, with 10 million parts."), while the software for such an airliner can run to 4 million lines of code, "The 2.5 million lines of newly developed software were approximately six times more than any previous Boeing commercial airplane development program. Including commercial-off-the-shelf (COTS) and optional software, the total size is more than 4 million lines of code.".
As of 2004, the U. S. Bureau of Labor Statistics counts 760,840 software engineers holding jobs in the U.S.; for comparison, in the U.S. there are some 1.4 million practitioners employed in all other engineering disciplines combinedBureau of Labor Statistics, U.S. Department of Labor, USDL 05-2145: Occupational Employment and Wages, November 2004, Table 1.. There are estimated to be about 1.5 million practitioners in the E.U., Asia, and elsewhere. SE pioneers include Barry Boehm, Fred Brooks, C. A. R. Hoare, and David Parnas. There is extensive debate about what SE is, who qualifies as a SE, who sets the standards, etc.
More on [ Software engineering ]
Open Source
Computer Programming

Bioperl.org - The Bioperl Project is an international association of developers of open source Perl tools for bioinformatics, genomics and life science research. The Bioperl server provides an online resource for modules, scripts, and web links.
AceDB - A hierarchical database system for displaying genomic data (originally C. elegans), suitable also for displaying other scientific data.
AcePerl - OO Interface to AceDB
Bielefeld University Bioinformatics Server - BiBiServ supports Internet-based collaborative research, software development and distance education in bioinformatics.
Biochemical Algorithms Library - C++ framework for rapid software prototyping in molecular modeling.
BioJava.org - The BioJava Project is an open-source project dedicated to providing Java tools for processing biological data.
BioLisp.org - BioLisp.org is a public resource supporting scientists who use Lisp to develop intelligent applications in the biological sciences. We collect and disseminate Lisp biocomputing code, and gather pointers to Lisp and other Intelligent BioComputing methods.
Bionconductor - The Bioconductor project produces an open source software framework that will assist biologists and statisticians working in bioinformatics, with primary emphasis on inference using DNA microarrays, built mostly using R.
BioPHP - An open source project to develop PHP code and scripts for biocomputing. A wiki-like service allows collaboration between developers.
Meta Description: [ BioPHP. PHP for bioinformatics ]
BioPython - The Biopython Project is an international association of developers of freely available Python tools for computational molecular biology.
Meta Description: [ Domain name renewal and affordable web hosting packages from Network Solutions ]
BioQuery - Tools that searches multiple biomedical databases from your desktop.
Meta Description: [ BioQuery: a common interface and update service
providing access to multiple biomedical databases. ]
BioRuby - BioRuby project aims to implement an integrated environment for Bioinformatics with Ruby language.
Boulder.pm - Simple but powerful data exchange language, suitable for serializing biological data objects.
BSML - Bioinformation Sequence Markup Language. Extensible language specification and container for bioinformatic data.
Dynamite - Code generator for writing dynamic programming programs.
Meta Description: [ Dynamite Documentation, for version 1.5a, protein, dna, EBI, wise, wise2, dynamite, Ewan Birney ]
EST2uni - A tool to analyze a set of ESTs. Cleans, clusters and annotates the sequences and prepares a web site to browse the results in a complete automatic way.
Meta Description: [ Software to analyze EST collections, from chromatograms to annotated databases ]
High Throughput Screening Tools - Analytical tools and SQL scripts that solve common problems in drug discovery.
Meta Description: [ High Throughput Screening tools for the scientist interested in
analyzing large datasets ]
InterMine - InterMine is an general-purpose object-oriented data warehouse system developed as part of the FlyMine project and made available as stand-alone open-source software.
Meta Description: [ Integrated queryable database for Drosophila and Anopheles genomics ]
JCell - A Java based framework to reconstruct genetic interactions from microarray data.
Meta Description: [ Homepage of JCell ]
MolTalk - Software development for structural bioinformatics. Runs on Unix, Windows and MacOSX.
NCICB Core Infrastructure - The National Cancer Institute's Center for Bioinformatics produces the caCORE infrastructure, an open-source enterprise architecture for cancer informatics.
NeoBio - An open source library of Java bioinformatics algorithms. The current version consists mainly of sequence alignment algorithms such as Needleman- Wunsch and Smith-Waterman.
Meta Description: [ NeoBio Bioinformatics Algorithms in Java ]
Phylogenetic Analysis Library - PAL library is a Java toolkit for determining evolutionary trends.
PISE - Given an abstract definition of a program's parameters, PISE can generate whatever style of interface from the configuration module.
Sight - Extendable parallel system for automatic genome analysis. Software for analysing all potential genes in a defined genome region. Given two marker names, can output reports of genomic features between them. Features for converting between naming systems, sequence retrieval, E-PCR, gene prediction, similarity search, protein pattern search, and report formatting. Written in Java.
The Darwin Manual - Guide to running this programming language. Library contains programs to compute pairwise alignments, phylogenetic trees, multiple sequence alignments, and to make secondary structure predictions.
Meta Description: [ The DARWIN Manual © ]
The Scriptome - A set of software tools that filter, format, and merge data in tabular or common biological formats. Organized as a classified collection of Perl one-liners.
The XEMBL Project - XEMBL provides access to the EMBL/GenBank/DDBJ Nucleotide Sequence Database, providing output in various XML standards.
Meta Description: [ The XEMBL Project: delivering EMBL nucleotide sequence information to bioinformaticians in XML format. ]
| TANYA'S TESTING STUFFS | |
| Next Video | |