100 likes | 115 Views
Program Understanding. Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture. Today. Finish class intros Introduce Jon Labayo and Sandor Pethes of RHV An opening assignment on the term project – One minute talks, next Thursday! Talk about Program Understanding (M 6)
E N D
Program Understanding Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture
Today • Finish class intros • Introduce Jon Labayo and Sandor Pethes of RHV • An opening assignment on the term project – One minute talks, next Thursday! • Talk about Program Understanding (M 6) • Install GCC and do Program Understanding Exercise, using today’s Quiz as a guideline
Finish Class Intros • Who you are • What’s your domain track? • Something interesting you just did • Something you’d like from this course
Introduce Jon and Sandor Jon Labayo • Jon is a project engineer at Rose-Hulman Ventures, working with both hardware and software. He earned his B.S. in computer engineering from Rose-Hulman Institute of Technology. He has experience in both application level software development and embedded hardware/software design, ranging from image and audio processing to data acquisition, analysis, and motion control systems.
Introduce Jon and Sandor Sandor Pethes • Sandor is currently working as a project engineer for software development teams. His area of expertise is in software engineering. Sandor has an interest in computer graphics, Linux systems, and embedded systems. He earned his B.S. in computer science at Rose-Hulman Institute of Technology in 2002.
The term project – An opening assignment • Look at “One-minute project talks” – on the schedule, to turn in by Wednesday night, give in class on Thursday • Each person does one • Then we’ll have time for you to discuss project ideas, in class on Friday • And turn in projects you’re interested in • Team assignments will be made by us!
A Program Comprehension Process Model • Read about the program • Read the source code • Run the program Return to steps 1 or 2 as necessary. Look at C++ program example.
Program Comprehension Strategies • Top-down • Bottom-up • “Chunking” • Opportunistic • Combination of top-down and bottom-up • How can you avoid it becoming “ad hoc”?
Factors that AffectProgram Understanding • Expertise • Implementation issues • Naming style • Comments • Decomposition Mechanism • Documentation • Organization and Presentation …Mixed research results on many of these!
Let’s dig into some C++ code • Install GCC -- See GCC Install instructions • Do Program Understanding Exercise -- Use today’s Quiz as a further guideline • If you’re new to C++, this is also a very brief intro to the language