1) Comparison study of programming languages: Java versus C/C++. History and motivation for design of Java, efficiency of Java compared to C/C++, safety of Java compared to C/C++
Section 3: Yuval Peress
2) Discuss Cobol in business programming. Why is Cobol frequently used in programming business administration systems? Is (internal) decimal format important for financial systems?
Section 1: Daniel Beech
Section 2: Christopher Albritton
Section 3: Jonathan Aevermann
3) Discuss Fortran in scientific programming.
Section 1: Richard Massa
Section 2: Hamilton Hadwin
Section 3: Jennifer Danner
4) Discuss the application of Scheme programming for Artificial Intelligence.
Section 1: Brian Smith
Section 2: Anton Matthews
Section 3: Jesse Levier
5) Discuss the application of Visual Basic using excel and access.
Section 3: Garret Reece
6) Explain the different aspects of the cost of a programming language in terms of maintenance, deployment, and support. What is the impact of typed languages on development? What is the impact of standard libraries on portability?
Section 1: Mark Carpenter
Section 2: Kathleen Brown
Section 3: Bruce Bayha
7) Discuss the way Pascal, non-ISO C, ISO C, and Java handle if-then-else conditional nestings. Delineate the pros and cons from the user and compiler perspectives.
Section 1: Gilberto Morejon
Section 2: Thomas Harris
Section 3: Max Dewalt
8) Discuss the impact of programming style on the performance of Scheme programs, e.g. recursion or loops, "if-then" or "cond" using assignment or not using it.
Section 1: David van Hoose
Section 2: Therasa Pace
Section 3: Allison Macleay
9)
Discuss the use of program languages in bioinformatics.
Section 3: Tina Suan
10) Lisp is often times described as a special-purpose language used in the field of artificial intelligence. How is Lisp more of a special purpose language than others such as C or C++?
Section 1: Richard Cook
Section 2: Jin Byun
Section 3: Stephen Baylis
11) Goto jumps are often considered to be bad features of a programming language. Why are they considered bad? Give examples. Can these statements be useful? And if so, how? How do languages without goto type statements, such as Java, get around such limitations?
Section 1: Rebecca Pembleton
Section 2: Jennifer Herald
Section 3: Ryan Flick
12) Most programs need conditional statements to make decisions. The IF-THEN-ELSE conditional statement is one way to make decisions. Discuss IF-THEN-ELSE conditional in Pascal, C/C++ and Java.
Section 1: Micah Villmow
Section 2: Jingyuan Ren
Section 3: Johan Martinez
13) Construct a BNF grammar to function as a vending machine. This vending machine charges 50 cents for its products, and only accepts exact change (if 55 cents is given, it would not accept any of the money). In other words, the BNF should recognize strings such as
quarter
dime nickel dime
half_dollar
nickel nickel quarter dime nickel
The resultant BNF should be as efficient as possible, with no unnecessary rules. Pick a method of parsing and show how a few different sample strings would be handled ( both correct strings and incorrect strings).
Section 3: Brandon Thompson
14) Selecting two
different programming languages such as C and Fortran,
write a simple parsing program for a given grammar and apply it to
example sentences such as “The dog walks”, and compare how the
implementation affect their ability to parse sentences and check it for
grammatical correctness against the given grammar.
Section 1: Stephen Inglish
Section 2: Michael Cervantes
Section 3: Thomas Bonfield
15) Find a BNF
description of Java’s syntax. Show that the Java syntax for the if-statement
eliminates any ambiguity. That is, draw the parse tree of the following program
skeleton (but now using Java’s correct syntax).
if (C1) if (C2) S1; else S2;
And argue that no other parse tree can be found using the Java BNF rules. Compare this syntax approach to C and Ada.
Section 1: David Rovira
Section 2: Masa James
Section 3: Nicholas Folts
16) Discuss BNF and EBNF and the difference of them. How to translate EBNF into BNF.
Section 1: Nicholas Walker
Section 2: Cynthai Roberts
Section 3: Antoinette Mulai
17) Write an LL Parse that take a BNF description and a string and tell the user if the string match the grammar or not.
Section 3: Christian Tobon
18) Discuss LL(1) parsing grammar. How the grammar works? Sow how it is implemented in some programming language.
Section 1: Michael Jason
Section 2: Joseph John Chap
Section 3: Erica Bourne
19) Find a BNF description of Cobol’s syntax, and discuss the Cobol grammar on English verbs.
Section 1: David Schwartz
Section 2: Amey Kulkarni
Section 3: Cory Fox
20) Devise a test to show the efficiency increase of using CASE/SWITCH statements as compared to using normal if-then-else statements. Provide these results, along with an explanation of the experiment, for discussion. Various ways can be used to show the disparity better, while some ways would actually exaggerate or minimize the findings. Be prepared to discuss your methodology as well.
Section 1: Ryan Woodrum
Section 2: Michael Schultz
Section 3: Wickus Nienaber
21)
Many languages allow the programmer to create both statically and dynamically
allocated variables. Some languages, like Fortran, do not allow dynamic
allocation.
Section 3: Todd Andel
22)
Discuss the Hoard memory allocator, available from the web. Explain the purpose
of
Hoard in relation
to multiple threads, and how Hoard handles these problems.
Section 1: Kelley Jones
Section 2: Lino Elias
Section 3: Demetrius Brown
23)
Explain how the central run-time stack is managed in Pascal to maintain static
scopic. How would you modify the stack to use dynamic scoping
(most recent association)? How would these changes affect the performance of
programs?
Section 1: Matthew Scragg
Section 2: Michael Lind
Section 3: James Gonzalez
24) The C language has three storage classes, called automatic, extern, and static. These determine whether and how memory is allocated for variables and/or determine the visibility of entities.
-Discuss the
storage classes.
-Discuss the use of
"auto", "extern", and “static" for global variables.
-Discuss the use of
"auto", "extern", and “static" for local variables of
a function. How is this different from the use of these storage classes for
globals?
-Discuss separate
compilation and linking in C (with emphasis on using "static" and
"extern").
Section 1: Benjamin Wunder
Section 2: Christi Shirley
Section 3: Mathew Oldham
25) Read section 7.7.3 of the textbook. Discuss garbage collection as presented here, and the topics of reference counts and mark-and-sweep collection.
Section 2: Silas Williams
Section 3: Mark Collin Searles
26) Research the
automatic garbage collection performed in Java. Find actual benchmarks and test
results on its usage. Discuss how such garbage collection affects performance.
Have there been improvements in Java's garbage collection? If so, discuss this
as well.
Section 1: John Kerski
Section 2: Ashley Grant
Section 3: Justin Christofoli
27)
Discuss overloading and polymorphism in Java. Be sure to talk about how the
Section 1: Aaron Sharp
Section 2: Pei Juin Lu Noriel
Section 3: Glen Hughes
28)
Discuss Java threads as they relate to concurrent program, and discuss the
utilities that Java employs to conserve data integrity (semaphores, monitors,
etc.).
Section 1: Vignon Zinsou
Section 2: Nicholas Wallen
Self-Selected Topic: Visual Fox Pro.
Section 3: Carl Owenby
29)
Early Basic, Fortran 77, and Pascal have different static scoping rules. Discuss
these
Section 2: Carol Yang
Section 3: Yiming Wu
30) Loop index variables is important to calculate number of iterations. Discuss non-integer indexes and resulting round-off errors in the loops in C/C++. How it is in Fortran?
Section 2: Duan Griffiths
Section 3: Graig Conrad
31) Discuss the use of recursion in terms of efficiency, maintainability, writability, etc. In which cases is recursive programming good, and in which cases is it bad? Fortran does not allow recursion. What effect does this have on programming those things that are best handled by recursion (are there situations in which Fortran cannot handle a certain task because of its lack of recursion?)?
Section 2: Charles Mason
Section 3: David Kopicki
32) A tail-recursive function is a function in which additional computation never follows a recursion call. Discuss the difference between iteration, recursive and tail-recursive function by test some examples.
Section 2: Christopher Williams
Section 3: Brian Pelletier