Lesson Plan - Bioinformatics Activity Bank

advertisement
Process Coding Sequenced Object Oriented Lab Lesson Plan
Subject Area: AP Computer Science A
Integrated Subjects: Biology (Genetics)
Introduction:
Students will complete a Java OOP program that consists of six classes which represent a Gene, a
Transcript, and Dictionaries. The Dictionary classes can be used for DNA to RNA transcription and
RNA to Protein translation. The Transcript class will contain methods to transcript a DNA coding
sequence into an mRNA sequence and to translate an mRNA sequence into a protein. The Gene
class contains Transcript objects.
Activities




Teacher introduction to the Lab (Biology and Dictionary Data Structure): 30 minutes
Student Internet research of DNA-RNA complementary bases used in transcription and codonamino acid relationships used in translation: 30 minutes
Students work on lab (programming assignment): 200 minutes
Teacher class discussions as necessary: 10 minutes
Materials




Process Coding Sequences Assignment.doc - the student assignment.
Process Coding Sequences Javadocs folder - the Java Documentation for the assignment.
index.html is the top-level page.
Process Coding Sequences Assignment Student folder - the student starter code (includes a
JCreator project)
Process Coding Sequences Assignment Teacher folder - the completed project
Activity Overview
1. Teacher introduces the Lab which includes
o Discussion of the purpose, goals, and work products of the lab.
o Review of the genetics concepts and definitions involved in DNA coding sequences, mRNA,
proteins, transcription, and translation.
o Introduction to the Dictionary Data Structure.
2. Student use the Internet to research DNA-RNA complementary bases used in transcription,
and codon-amino acid relationships used in translation.
3. Students work on lab (programming assignment). Each student is responsible for completing
his own assignment. Students may consult, but may not copy.
4. Teacher will circulate in the classroom as students work and
o help students as appropriate.
o make sure that students stay engaged.
o
o
ask questions to assess understanding.
discuss common difficulties with the class as a whole.
Assessment



Pre-assessment: none
Summative assessment: Teacher will observe student engagement during the programming.
Post-assessment: Completed programming assignments will be evaluated for adherence to
the requirements specified in the assignment (90%) and programming style based on
Checkstyle results (10%).
Resources







Introduction to Genetics: http://en.wikipedia.org/wiki/Introduction_to_genetics
DNA: http://en.wikipedia.org/wiki/DNA
RNA: http://en.wikipedia.org/wiki/RNA
Base Pairs: http://en.wikipedia.org/wiki/Base_pair
Codon to Amino Acid Table: http://www.biogem.org/codon.jpg
DNA Transcription: http://library.thinkquest.org/C004535/dna_transcription.html
RNA Translation: http://library.thinkquest.org/C004535/rna_translation.html
Modifications:


Make Dictionary a concrete class.
Reduce the coding requirements be including more pre-written code in the student starter
project.
Extensions:




The Dictionary class can be expanded in various ways:
o Methods could be added to make it more general including methods to add entries,
remove entries, and determine if the entries include a specific key.
o Entries could be maintained in sorted order.
DNA Coding sequences and mRNA could be displayed in groups or three (codons).
File Input/Output requirements have been minimized in this assignment. Students could write
code to process the chromosome21.txt file directly.
A GUI (Graphical User Interface) could be added to improve the user interface to the
assignment.
Topics: (from the AP Computer Science A Course Description Topic Outline)
I. Object-Oriented Program Design
A. Program design
1. Read and understand a problem's description, purpose, and goals.
2. Apply data abstraction and encapsulation.
3. Read and understand class specifications and relationships among
the classes ("is-a", "has-a" relationships).
4. Understand and implement a given class hierarchy.
B. Class design
5. Extend a given class using inheritance.
II. Program Implementation
A. Implementation techniques
1. Methodology
a. Object-oriented development
c. Encapsulation and information hiding
d. Procedural abstraction
B. Programming constructs
1. Primitive types vs. objects
2. Declaration
b. Variable declarations
c. Class declarations
e. Method declarations
f. Parameter declarations
3. Console output (System.out.print/println)
4. Control
a. Methods
b. Sequential
c. Conditional
d. Iteration
C. Java library classes
1. included in the A-level AP Java Subset (String, List, ArrayList)
III. Program Analysis
A. Testing
1. Test classes and libraries in isolation
3. Perform integration testing
B. Debugging
2. Identify and correct errors
3. Techniques: use a debugger, add extra output statements,
hand-trace code
C. Understand and modify existing code
F. Reason about programs
1. Pre- and post-conditions
IV. Standard Data Structures
A. Simple data types (int, boolean, double)
B. Classes
C. One-dimensional arrays
V. Standard Algorithms
A. Operations on data structures listed above
1. Traversals
2. Insertion
B. Searching
1. Sequential
Download