DOC PREVIEW
UW CSE 303 - Study Notes

This preview shows page 1-2 out of 6 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

9/30/20091David Notkin  Autumn 2009CSE303: Concepts and Tools for Software DevelopmentUW course catalog: Introduction to key concepts and tools in the development of software not introduced in the introductory programming courses. Includes programming with explicit memory management and layout (e.g. C or C++), techniques for group software development, modern design, implementation, and testing patterns and strategies, and societal impact.Groups ~2-3 people, ~2 minutes• Jot down some of the “key concepts and tools in the development of software” that were introduced “in the introductory programming courses”CSE303 Au09 2Concepts and tools in 303• Unix/Linux operating system• Basic C and C++ programming such as pointers, arrays, memory and resource management, preprocessor• Programming tools such as debuggers, profilers, compilation managers, and version control• Software engineering practices related to specification, partner programming, reuse, and testing• Societal/ethical issues in and implications of computingCSE303 Au09 3CSE303 Au09 4ConceptsAbilitiesSkillsProcedures as an abstractionDefining and invoking proceduresDefining and invoking procedures in {Java | C}LoopingDefining loopsConvert loops to recursionLoops in {Java | C }Program failureDebuggingDebugging programs in language C or with a specific debuggerDynamic memory use:creating objects, reusing spaceAllocation and garbage collection vs. allocation and explicit deletionManaging space with C and C++…Not perfectly defined groups – it’s the idea, not the detailsAnd if you think education is the same as training…9/30/20092Why ethics?• As computer users, you have legal and policy obligations –Appropriate Use of UW Resources (protecting infrastructure, privacy, copyright policies, public records, …)• As computer professionals, you have even deeper obligations –SE Code of Ethics and Professional Practice– Act consistently with the public interest; act in the best interests of clients and employers, consistent with public interest; maintain integrity and independence in professional judgment, …• The fundamentals may not differ from other fields, but specifics due to computers are significant; also, computers and software are now a part of almost every complex system– As society becomes more dependent on computing, we have greater societal and ethical and legal obligationsCSE303 Au09 5OS’s & languages & compilers, oh my!• …& run-time systems & editors &environments & debuggers & …?CSE303 Au09 6“Toto, we’re not in 142/143 anymore”program inputcomputerprogram output• Other programs are needed to run our program• We need multiple programs to be able to share a single computer and associated resources (disks, network, etc.)• Programs can help us develop programsProgramming languages & compilers• Develop programs that tend to be simpler, easier to port, easier to change, easier to get right, easier to understand, etc.• Different languages tend to help under different constraintsCSE303 Au09 7/* Hello World program */#include <stdio.h>main(){printf("Hello World\n");}.file "hello.c".section .rodata.LC0:.string "Hello World".text.globl main.type main, @functionmain:leal 4(%esp), %ecxandl $-16, %esppushl -4(%ecx)pushl %ebpmovl %esp, %ebppushl %ecxsubl $20, %espmovl $.LC0, (%esp)call putsaddl $20, %esppopl %ecxpopl %ebpleal -4(%ecx), %espret.size main, .-main.ident "GCC: (GNU) 4.3.0 20080428 (Red Hat 4.3.0-8)".section .note.GNU-stack,"",@progbitscompiled using-bash-3.2$ cc world.c-bash-3.2$ cc –S world.cCompilers translate programs in a high-level language into (more) executable programsexamples?CSE303 Au09 80000000 457f 464c 0101 0001 0000 0000 0000 0000 0002 0003 0001 0000 8300 0804 0034 0000 082c 0000 0000 0000 0034 0020 0008 00280000060 001e 001b 0006 0000 0034 0000 8034 0804 8034 0804 0100 0000 0100 0000 0005 0000 0004 0000 0003 0000 0134 0000 8134 08040000140 8134 0804 0013 0000 0013 0000 0004 0000 0001 0000 0001 0000 0000 0000 8000 0804 8000 0804 0524 0000 0524 0000 0005 00000000220 1000 0000 0001 0000 0524 0000 9524 0804 9524 0804 00fc 0000 0104 0000 0006 0000 1000 0000 0002 0000 0538 0000 9538 08040000300 9538 0804 00c8 0000 00c8 0000 0006 0000 0004 0000 0004 0000 0148 0000 8148 0804 8148 0804 0044 0000 0044 0000 0004 00000000360 0004 0000 e550 6474 04b0 0000 84b0 0804 84b0 0804 001c 0000 001c 0000 0004 0000 0004 0000 e551 6474 0000 0000 0000 00000000440 0000 0000 0000 0000 0000 0000 0006 0000 0004 0000 6c2f 6269 6c2f 2d64 696c 756e 2e78 6f73 322e 0000 0004 0000 0010 00000000520 0001 0000 4e47 0055 0000 0000 0002 0000 0006 0000 0009 0000 0004 0000 0014 0000 0003 0000 4e47 0055 0e28 5c01 12db 15f60000600 5909 cc3d 761b 15e4 ec21 f493 0002 0000 0004 0000 0001 0000 0005 0000 2000 2000 0000 0000 0004 0000 4bad c0e3 0000 00000000660 0000 0000 0000 0000 0000 0000 0001 0000 0000 0000 0000 0000 0020 0000 002e 0000 0000 0000 01c3 0000 0012 0000 0029 00000000740 0000 0000 01cc 0000 0012 0000 001a 0000 849c 0804 0004 0000 0011 000f 5f00 675f 6f6d 5f6e 7473 7261 5f74 005f 696c 63620001020 732e 2e6f 0036 495f 5f4f 7473 6964 5f6e 7375 6465 7000 7475 0073 5f5f 696c 6362 735f 6174 7472 6d5f 6961 006e 4c47 42490001100 5f43 2e32 0030 0000 0000 0002 0002 0001 0001 0001 0010 0000 0010 0000 0000 0000 6910 0d69 0000 0002 0040 0000 0000 00000001160 9600 0804 0106 0000 9610 0804 0107 0000 9614 0804 0207 0000 9618 0804 0307 0000 8955 53e5 ec83 e804 0000 0000 815b 68c30001240 0013 8b00 fc93 ffff 85ff 74d2 e805 001e 0000 d9e8 0000 e800 0194 0000 5b58 c3c9 35ff 9608 0804 25ff 960c 0804 0000 00000001320 25ff 9610 0804 0068 0000 e900 ffe0 ffff 25ff 9614 0804 0868 0000 e900 ffd0 ffff 25ff 9618 0804 1068 0000 e900 ffc0 ffff0001400 ed31 895e 83e1 f0e4 5450 6852 83e0 0804 f068 0483 5108 6856 83b4 0804 bfe8 ffff f4ff 9090 9090 9090 9090 9090 9090 90900001460 8955 53e5 ec83 8004 203d 0496 0008 4075 158b 9624 0804 30b8 0495 2d08 952c 0804 f8c1 8d02 ff58 da39 1f73 b68d 0000 00000001540 428d a301 9624 0804 14ff 2c85 0495 8b08 2415 0496 3908 72da c6e7 2005 0496 0108 c483 5b04 c35d 768d 8d00 27bc 0000 00000001620 8955 83e5 08ec 34a1 0495 8508 74c0 b812 0000 0000 c085 0974 04c7 3424 0495 ff08 c9d0 90c3 4c8d 0424 e483 fff0 fc71 89550001700 51e5 ec83 c714 2404 84a4 0804 1fe8 ffff 83ff 14c4 5d59 618d c3fc 9090 9090 9090 8955 5de5 8dc3 2674 8d00 27bc 0000 00000001760 8955 57e5 5356 4fe8 0000 8100 09c3 0012 8300 0cec 87e8 fffe 8dff 20bb ffff 8dff 2083 ffff 29ff c1c7 02ff ff85


View Full Document

UW CSE 303 - Study Notes

Documents in this Course
Profiling

Profiling

11 pages

Profiling

Profiling

22 pages

Profiling

Profiling

11 pages

Testing

Testing

12 pages

Load more
Download Study Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Study Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Study Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?