Major+Project

=Major Project=

Description
You will be working on a research project throughout the semester. You will be given some classtime to work on the project, but will be expected to do most of the work on your own time. Once again, use your time wisely.

The goal of this project is to choose a topic within computer science that is of interest to you, to conduct research into this topic, and to present your findings to the class. Your research into the topic might utilize the library, the internet, resource people, companies, etc. depending on the topic you choose. When you present your project to your peers, it should utilize information technology in some manner. You might choose to create a PowerPoint presentation, a series of web pages, a computer program, a video, or any other interesting way to present your project you can think of.

A list of possible topics is given below. Note that this is just a sampling of possible topics. If you would like to do something not on the list, come ask me about it!

You have the choice to either work on the project by yourself, or team up with one other person interested in the same topic. You should realize, however, that if you team up with another person, you will both get the same final grade, AND the project will be expected to take more work than if you were by yourself.

You may want to take a look at some projects that students have done in the past. You can find them in the Computer Science folder, under "CompSci 30 Major Projects".

Assessment of your project:
 Your project will be assessed according to the following rubric: Note that nearly half of the mark comes from the process by which you create your final product. How you get there is as important as what you en d up with!
 * **Process** || **Below Avg.** || **Satisfactory** || **Excellent** ||
 * 1. Has clear vision of final product || 1, 2, 3 || 4, 5, 6 || 7, 8, 9 ||
 * 2. Difficulty and time commitment || 1, 2, 3 || 4, 5, 6 || 7, 8, 9 ||
 * 3. Managed time wisely || 1, 2, 3 || 4, 5, 6 || 7, 8, 9 ||
 * 4. Acquired needed knowledge base || 1, 2, 3 || 4, 5, 6 || 7, 8, 9 ||
 * 5. Communicated efforts with teacher || 1, 2, 3 || 4, 5, 6 || 7, 8, 9 ||
 * **Product (final project)** || **Below Avg.** || **Satisfactory** || **Excellent** ||
 * 6. Mechanics of speaking/writing || 1, 2, 3 || 4, 5, 6 || 7, 8, 9 ||
 * 7. Organization and structure || 1, 2, 3 || 4, 5, 6 || 7, 8, 9 ||
 * 8. Creativity || 1, 2, 3 || 4, 5, 6 || 7, 8, 9 ||
 * 9. Perceived educational value || 1, 2, 3 || 4, 5, 6 || 7, 8, 9 ||
 * 10. Demonstrates knowledge || 1, 2, 3 || 4, 5, 6 || 7, 8, 9, 10 ||
 * 11. “WOW ME“ factor || 1 || 2 || 3 ||



Possible Topics

 * Architecture of Computing Machines**
 * Describe the operation of various input devices
 * Describe the operation of various output devices
 * Explain the role of a microprocessor
 * Explain the role and organization of volatile internal memory (RAM)
 * Explain the role and organization of non-volatile internal memory (ROM)
 * Compare the handling of instructions and data
 * Describe the connection of peripherals


 * Accumulator
 * Index registers
 * Program counter
 * Stack pointer
 * Other registers
 * Stack
 * Address bus
 * Data bus
 * Arithmetic Logic Unit


 * Interpret a previously-assembled instruction
 * Recognize frequently-used instructions from the microprocessor's instruction set


 * Immediate
 * Direct
 * Indexed
 * Indirect


 * Explain the assembly process
 * Recognize the fields of an assembly-language instruction


 * Decimal addition and subtraction
 * Stack operations
 * Branching
 * Looping

Define AI. Compare theory and practice in AI. Describe the characteristics of an intelligent machine. Trace the history of AI. Describe and compare methods of representing knowledge and logical rules. Discuss current trends in AI:
 * Artificial Intelligence (AI)**
 * Natural language processing
 * Vision
 * Speech
 * Knowledge representation
 * Expert systems
 * Uncertain reasoning
 * Neural networks

Field experiences.
 * Career Exploration** (Refer to [|Unit 7 in Computer Science 20])
 * Visit workplaces
 * Interview people in various computer-related jobs


 * Determine employer expectations
 * Describe employer-employee relationships
 * Display attitudes and personal habits which meet employer expectations


 * Demonstrate the ability to manage time
 * Show a willingness to correct personal weaknesses that limit employability

Compare the three disciplines:
 * Report on offerings by other schools and local business
 * Report on offerings by post-secondary institutions (entry requirements, qualifications obtainable, job prospects)
 * Computer-Aided Design, Drafting, and Manufacturing (CAD/D/M)**
 * commonalties
 * differences


 * work environment
 * skill requirements
 * employment

Discuss and/or write about basic solid state electronics. Design and analyze binary logic circuits. Describe the operation of power supplies. Describe the function of logic gates. Describe the operation of timers, multiplexers, demultiplexers. Apply Boolen algebra to the design of binary devices. Construct a single-board computer. Operations
 * Computer Technology**
 * Computing Systems**
 * compare batch, interactive, and distributed processing
 * contrast various network configurations
 * describe a multiprogramming environment

Describe the creative problem solving process. Apply the process to real-world problems: work with a group. Incorporate computers into some of the solutions. Examine and criticize commercial documentation:
 * observe
 * analyze
 * interview
 * report
 * Creative Problem Solving**
 * Documentation**
 * tutorials
 * user’s guides
 * programmer’s manuals
 * systems manuals

Report on the writings of various futurists.
 * research the characteristics of a user
 * write documentation tailored to a user
 * Future Studies**
 * Discuss the likelihood of various trends
 * Criticize the predictions of futurists


 * Compare prediction with fact

Identify the components of a computer information system.
 * Information Storage and Retrieval with Computers**
 * information providers, brokers, hosts, carriers

Identify the parts of an automated office and describe their function:
 * Office Automation**
 * shared applications, shared files, electronic massaging
 * roles within the system
 * skills required

Apply the programming skills gained in the course to a major project. Describe processes that are under computer control, for example :
 * Project**
 * work on the components alone
 * work with others, dividing the labour.
 * Process Control**
 * automobile engines and braking systems
 * manufacturing
 * refining
 * transportation
 * retail sales and ordering systems

Perform advanced operations on Static Data Structures:
 * Programming Topics: Advanced**
 * search (hash)
 * sort (shell, quick, radix)


 * list, tree, file, stack, queue


 * add, delete, search, sort, change, merge
 * audit trails


 * complex Boolean algebra


 * identify conceptual differences between recursion and iteration
 * apply recursion to computer solutions of problems


 * Use modelling
 * Use interactive techniques
 * Design a computer simulation
 * Discuss the advantages of simulating processes and environments
 * Discuss applications to business and industry


 * transformations (translation, rotation, scaling)
 * windows and viewports
 * clipping
 * display devices and how they function
 * specific storage and display methods of the microcomputer being used
 * input devices and how they function
 * applications to business and industry
 * turtle graphics


 * explain basic statistical operations
 * use statistics software

Collaborate with a teacher of students with special needs.
 * Explain various methods of generating hard copy
 * Describe how the printer being used responds to various codes
 * Compare the functions of computer firmware, interface card firmware, and printer firmware
 * Apply knowledge of printer performance to computer programs and word processing documents
 * Special Needs and Computers**
 * Assess needs
 * Determine if a computer might be involved
 * Develop a program to fill the needs
 * Test and modify the program in real situations

Describe the elements of system development:
 * Systems Analysis**
 * analyze the current system
 * design a new or modified system.
 * implement the new or modified system


 * conduct a feasibility study
 * gather information
 * determine the requirements of the new system
 * determine criteria for success
 * study alternate systems


 * select hardware
 * design forms
 * set up files
 * set up file-maintenance procedures
 * determine security procedures
 * write programs and documentation


 * design training schedules
 * test the system
 * plan for conversion to the new system
 * plan for maintenance of the new system

Collect information on some new applications of computer-based technology. Discuss the social implication of computer applications.
 * library, office, cafeteria, student shop
 * Trends and Issues in Computer Technology**
 * AI, robotics, simulation, business applications, computers and communications, public information systems, data banks, graphics


 * RISC chips, and other hardware
 * bit-mapped displays, pull-down/pop-up menus, windows, multiprogramming, and other software developments

media type="custom" key="5118261"