je me demande en dehors de ces applications très simples du monde du bonjour, quels autres programmes dois-je essayer de développer pour apprendre. J'entre à l'université l'année prochaine et je me demande quel genre de programmes seront développés dans cet environnement.
ce n'est pas vraiment une langue spécifique, mais si vous voulez savoir ce que j'utilise actuellement principalement
- windows: C # / WPF - j'ai étudié java / vb etc en poly mais je pense que C # est la voie à suivre, peut-être même F #
- web: PHP / MySQL, Zend Framework / Doctrine, + HTML / CSS / JS (jQuery) bien sûr. cherchez à essayer le moteur d'application google avec python aussi.
pour l'instant, je pense à
- listes de tâches
- des applications qui s'intègrent avec l'api, par exemple. twitter / tumblr que j'utilise
éditeur de texte - j'essaie actuellement de développer un éditeur de texte qui utilise markdown et génère des fichiers html pour la visualisation (lien vers l'entrée de blog). pas très pratique après avoir commencé à le développer. cos lors de l'édition theres pas de mise en forme et au format HTML, je ne peux pas éditer directement
logiciel de blog (pour le web)
la source
J'écris actuellement un analyseur / matcher regex et cela m'apprend énormément sur l'analyse et les machines à états finis et les expressions régulières elles-mêmes, entre autres. La raison pour laquelle je pense particulièrement qu'un analyseur d' expressions rationnelles est utile est que le langage d'expression régulière est petit et qu'il est assez limité dans ce qu'il peut faire.
J'ai aussi écrit un interprète pour Ook! , qui est une tâche simple, mais encore une fois, vous apprend une tonne.
la source
CodePlex.com répertorie de nombreux projets open source qui ont été réalisés à l'aide de C #. Vous pouvez jeter un œil sur le site pour avoir des idées.
la source
Vous pouvez également consulter TopCoder . Ce site a d'excellents algorithmes à apprendre et ils mènent de temps en temps une compétition. L'avantage important de ce site est que vous pouvez voir le code source d'autres personnes pour un problème particulier et en savoir plus.
Et même sur les sites SE, il faut regarder CodeGolf .
la source
(Il s'agit principalement d'une réponse mata plutôt que d'une liste de projets.)
Réfléchissez à la raison pour laquelle vous écrivez le programme: sera-t-il utile en soi, ou s'agit-il uniquement d'apprendre un aspect d'un outil / d'une API / d'un langage?
Dans ce dernier cas, il y a un avantage à ce que le programme qui en résulte soit aussi court que possible, puis simplement conservé pour référence.
Dans le premier cas, pourquoi ne pas étendre l'apprentissage aux bonnes pratiques à tous égards: supposez que vous devrez le maintenir et l'étendre. Utilisez donc le contrôle des sources, le suivi des problèmes, la refactorisation, les tests unitaires, ... car toutes ces choses sont au moins aussi importantes pour un développeur que de connaître une autre API.
Que diriez-vous d'un intégrateur de flux:
(L'idée est de se concentrer sur l'intégration de différentes implémentations du même paradigme: obtention HTTP planifiée d'un flux RSS vs API Twitter vs ... qui sont toutes sous un flux d'entrées avec horodatage, source et contenu.
la source
J'ai beaucoup appris en travaillant sur ce genre de projets de loisirs:
Sans oublier - ce genre de projets est incroyablement amusant à travailler :-).
la source
Programmez un petit jeu: c'est amusant et vous apprenez beaucoup.
Quelques idées:
Et quand c'est fait, pourquoi ne pas mettre en place un site web de haut niveau ...
la source
Développer une application de livre de recettes .
la source
Spyrographe. Spécifiez les dimensions d'une bague extérieure, d'un disque intérieur et d'un point de stylo le long de son diamètre. Tracez le chemin du stylo pendant que le disque intérieur roule le long de l'intérieur de l'anneau extérieur.
Change Maker. Coût d'entrée et montant remis au caissier. Calculez l'optimal pour que le caissier fasse le changement. Il existe un moyen lent et rapide de résoudre ce problème. Trouvez la voie rapide.
OO-Life Simulation. Recherchez l'algorithme de vie. Créez un état de départ aléatoire et affichez les étapes suivantes en utilisant la conception OO pour dissocier la logique de la présentation. Donnez une sortie texte et une sortie graphique.
Missionnaire / solveur de cannibales, recherchez ce célèbre puzzle. Écrivez un programme pour le résoudre en utilisant des arbres de recherche. Comparez BFS à DFS.
la source