
- How To Pick A Project Idea How Do You Go About Picking A Project Topic We Ll Offer Some Guidelines To Help You Out Whe 1 (71.18 KiB) Viewed 29 times

- How To Pick A Project Idea How Do You Go About Picking A Project Topic We Ll Offer Some Guidelines To Help You Out Whe 2 (53.37 KiB) Viewed 29 times
How to Pick a Project Idea How do you go about picking a project topic? We'll offer some guidelines to help you out. When you pick a project topic, make sure it satisfies the following criteria: There is only one rule. And that is there are no rules. You can use only C++ programming language, work in any direction that fascinates you, and really use this experience as an excuse to get started on something you have always dreamed of. Projects are the best way to leam coding (final exams, on the other hand, are the worst way to leam). The project you want to build must make a compelling reason for involving programming/computers. There are numerous problems out there that cannot be solved by human expertise without the aid of computers, mostly because the task is either too enormous or too repetitive. For example, sifting through Alice in Wonderland to isolate the most predominant nouns and sorting them in order, or going through datasets of millions of sensor readings looking for anomalies, are good reasons to write a computer program. 2. The software you write should emphasize on using core concepts learned during the semester. This includes a combination of: (1) Intelligent decision making (/switch). (i) repeating a set of operations to compute something meaningful (for/while), (iii) graceful and scalable software design (classes/objects, Inheritance/polymorphism ,Template and Exception Handling), and (iv) dealing with large data sets by using arrays, and where applicable, using files. 3. The effort must be significant. Your project must deliver a compelling software solution, which involves at least 1000+ lines of code. While line count is a poor reflection of actual work, this threshold will nevertheless help you differentiate trivial projects from more challenging ones. To get you started, we suggest three possible project ideas that satisfy all the criteria above. You are, of course, free to choose any idea of your own as long it matches the level of intensity and rigor: - Tic-Tac-Toe: Many great programmers started their journey with this seemingly innocuous game. It involves a surprising amount of intelligent decision making, and can be a good rigorous exercise. Your group should create a functional game that allows a human to play against your code, with the human starting first. A well- designed game will be nearly impossible to beat. - Scrabble: Create a scaled down version of the scrabble game, and use the standard. scoring scheme for various alphabets used per word. Scrabble is significantly harder than tic-tac-toe.
- Games, in general, are oftentimes a good way to start. Most others in the past have dabbled with Yahtzee, text-adventures, fun UI, battleship, etc., - Data Analytics: Design and implement a project that can read through millions of data points stored in a file, and answer some compelling
questions about the nature of the data. There are numerous data sets available for free download from the web. An example site is this:
http://www.scaleunlimited.com/datasets/public-datasets/ Project Euler: The project Euler website (
https://projecteuler.net/) has a very good collection of scientific problems that need programming to solve. - The ultimate calculator, the online Bank, or a multitude of combinations of everything we have done will work just fine. - Code down an App React native is the best way to go. If you are feeling like you want something simpler, try Swift (iOS) or Android Studio (Java) - Invent your own cryptocurrency! Cryptos are the future of finance. Try building your own cryptocurrency! It does not have to change the world (just yet). Even if it adds new insights to your own understanding, it is still a huge win. - Vending Machine Try building a Vending Machine ATM Machine and Online Banking