• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Einige Blicke in fremde Welten dürft Ihr nun bestaunen und darüber abstimmen, welche davon Euch am meisten gefällt: hier geht es lang für Euer Voting --> Klick

Iphone App als Schulprojekt(C++ Vorkenntnisse, halbes Jahr Zeit)

moschtAUT

Gloster
Registriert
27.08.11
Beiträge
60
Also liebe Apfelfreunde:

Wir müssen in unserer Schule das nächste halbe Jahr lang ein Programmierprojekt machen. Wir sind zu dritt und haben für das Ganze relativ viel Freiheit und ein halbes Jahr Zeit(bis kurz vor den Sommerferien). Nun haben wir uns überlegt eine App fürs Iphone/Android zu schreiben.

Die App soll folgendes können: Schnittdatenberechnung fürs Drehen, Fräsen und Bohren(wir sind auf einer technischen Schule auf der wir sowas lernen). Die benötigten Formeln und deren Faktoren lassen sich bequem an einer Hand abzählen. Kombiniert mit einer schönen grafischen Oberfläche und einfacher Bedienung sollte die App für manche Leute durchaus nützlich sein(wir haben uns auch überlegt das Programm im Appstore zu veröffentlichen).

Erste Frage:
iOS oder Android? Für iOS spricht das zwei von uns einen aktuellen Mac haben, für Android das es in der ganzen Klasse nur 2 Iphones gibt.

Zweite Frage:
Ist das mit unseren rudimentären Programmierkenntnissen überhaupt möglich?
Wir programmieren seit 1,5 Jahren C++, seit einem halben Jahr auch HTML/PHP usw.
Von objective C(wird ja anscheinend zur App-Programmierung benötigt) hat keiner von uns auch nur die leiseste Ahnung.

Als kleines Beispiel Schiffe versenken:

#include <iostream>#include <cstdlib>
#include <ctime>
#include <windows.h>


using namespace std;


bool pruefen (bool[12][12],int,int);
void ausgabe (int[12][12]);
void gotoxy(int x,int y)
{
COORD cur={x,y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),cur);
}


int main()
{
srand (static_cast<int>(time(NULL)));
bool feld [12] [12];
int i,j,x,y,t=0,hilf [12] [12];
for (i=0;i<12;i++)
{
for (j=0;j<12;j++)
{
feld[j]=0;
hilf[j]=0;
}
}
for (i=0;i<10;i++)
{
do
{
x=rand()%10;
y=rand()%10;
}
while (pruefen(feld,x+1,y+1));
feld[x+1][y+1]=1;
}
while (t<4)
{
cout<<"Schifferversenken\n\n";
gotoxy(0,1);
ausgabe(hilf);
gotoxy(16,6);
cout<<"Zeile:";
cin>>x;
gotoxy(16,7);
cout<<"Spalte:";
cin>>y;
if(feld[x][y])
{
for (i=x-1;i<=x+1;i++)
{
for (j=y-1;j<=y+1;j++) hilf[j]=1;
}
hilf[x][y]=2;
t++;
}
else hilf[x][y]=3;
gotoxy(0,1);
system("cls");
}
gotoxy(0,20);
}


bool pruefen (bool feld[12][12],int x,int y)
{
int v,w,h=0;
for (v=x-1;v<=x+1;v++)
{
for (w=y-1;w<=y+1;w++)
{
if (feld[v][w]) h=1;
}
}
if (h!=0) return 1;
}


void ausgabe (int hilf[12][12])
{
int i,j;
for (i=0;i<11;i++)
{
if (i>0) cout<<i-1;
else cout<<" ";
for (j=0;j<10;j++)
{
if (i<1) cout<<j;
else
{
if (hilf[i-1][j]==0) cout<<".";
if (hilf[i-1][j]==1) cout<<" ";
if (hilf[i-1][j]==2) cout<<"x";
if (hilf[i-1][j]==3) cout<<"#";
}
}
cout<<endl;
}
}


Dritte Frage:
Mit welchen Tools sollen wir das Projekt angehen. Sollte möglichst einfach sein. Xcode auf den beiden Macs ist natürlich kein Problem, aber was soll der dritte Projektteilnehmer mit PC machen?

Ich danke euch schonmal vorweg ;)
 
Erste Frage:
iOS oder Android? Für iOS spricht das zwei von uns einen aktuellen Mac haben, für Android das es in der ganzen Klasse nur 2 Iphones gibt.
Das müsst ihr entscheiden. Geheime Abstimmung, Münze werfen,... wie auch immer.

Zweite Frage:
Ist das mit unseren rudimentären Programmierkenntnissen überhaupt möglich?
Wir programmieren seit 1,5 Jahren C++, seit einem halben Jahr auch HTML/PHP usw.
Von objective C(wird ja anscheinend zur App-Programmierung benötigt) hat keiner von uns auch nur die leiseste Ahnung.
Das Projekt klingt eigentl. überschaubar.
Das dafür notwendige Wissen solltet ihr Euch bequem mit einem Buch aneignen können.

Dritte Frage:
Mit welchen Tools sollen wir das Projekt angehen. Sollte möglichst einfach sein. Xcode auf den beiden Macs ist natürlich kein Problem,
Wenn ihr für iOS entwickelt logischerweise Xcode. Bei Android höchst wahrscheinlich Eclipse.

aber was soll der dritte Projektteilnehmer mit PC machen?
Die Icons malen. :-D
 
Das müsst ihr entscheiden. Geheime Abstimmung, Münze werfen,... wie auch immer.

Hier gehts uns natürlich darum mit welchem Betriebssystem man sich am meisten Arbeit erspart. ;)

Das Projekt klingt eigentl. überschaubar.
Das dafür notwendige Wissen solltet ihr Euch bequem mit einem Buch aneignen können.

Das klingt schon mal gut, hast du Tipps?

Wenn ihr für iOS entwickelt logischerweise Xcode. Bei Android höchst wahrscheinlich Eclipse.

Gut zu wissen, ist ja auch nicht selbstverständlich bei der Programmvielfalt heute.

Die Icons malen. :-D

So viel zu gerechter Arbeitsverteilung :-!
 
Ihr solltet auch bedenken, dass Ihr einen bezahlten Developer Account braucht, wenn Ihr Eurer Projekt auch auf einem iPhone oder iPod laufen lassen wollt. Ohne den geht es nur im Simulator.

MacApple
 
Naja, die Developer Accounts gibts doch günstig/gratis für Schüler und Studenten?
 
Offenlegung: Ich bin ein orthodoxer, hard-core Apple Fanboy. Ich fasse im Büro Android Telefone nur mit Latex Handschuhen an.

Bei einem Schulprojekt sprechen aber viele Dinge für ein Android Projekt:

+ Die Android Entwicklungsumgebung läuft auf Windows, Mac oder Linux. Gerade in Schulen bin ich ein absoluter Feind, Schülern ein Betriebssystem vorzuschreiben -- selbst wenn das OS X ist.
+ Android wird in Java programmiert. Das ist -- falls ihr jetzt nicht alle Mac/iOS Entwickler werden wollt -- eine sehr viel verbreitetere Sprache als Objective-C, die in vielen Bereichen verwendet wird. Und insgesamt eine gute Lehrsprache ist.
+ Man braucht keinen Developer Account um das Projekt auch auf beliebig viele Android Geräte zu packen.

Nachteil von Android:
- Es wird in Java programmiert. Wer C++ kann, dem wird Objective-C nicht so schwer fallen.

Aber: Ich finde, man soll machen, was einem Spass macht: Wenn ihr zu dritt findet, das iOS cooler ist, dann macht das. Dinge, die Spass machen fallen einfach leichter.

Hoffe das hilft

Alex
 
Hier gehts uns natürlich darum mit welchem Betriebssystem man sich am meisten Arbeit erspart.
Wenn es danach geht: Am meisten Arbeit erspart ihr Euch wohl, wenn ihr einfach eine WebApp baut. Die Grundlagen dafür bringt ihr bereits mit, und die Frage ob das eine oder das andere Betriebssystem wäre damit vom Tisch.

Aber damit lernt ihr natürlich nur sehr wenig bis gar nichts neues. Wenn es Euch aber um das Erlernen von etwas Neuem geht, dann solltet ihr Euch Objective-C auf jedenfall ansehen. Denn die Sprache ist meiner Meinung nach sehr fesselnd.

Hierzu mal ein etwas älterer Tip zum anschauen: Tour de Force: iPhone SDK
(Der Ton wird nach den ersten 2-3 Minuten besser)

Das klingt schon mal gut, hast du Tipps?
Da muss ich mal wie below antworten: Da bin ich nicht objektiv, sondern leider parteiisch.
 
macht auf beidem! Nur mal so eine kurze Anmerkung :) Dann kann das fast jeder benutzen, außer vielleicht die Blackberry Leute :D
 
Aber damit lernt ihr natürlich nur sehr wenig bis gar nichts neues.
Leicht off-topic, aber ich habe manchmal das Gefühl, "Wissenvermittlung" ist ohnehin nicht die Stärke des Informatikunterrichts an deutschen Schulen.

Und nachdem ich in meinem Informatikkurs (Gut, ach, das ist über zwanzig Jahre her ...) im ersten Halbjahr nur 14 Punkte wegen "Off-Topic" bekommen habe, hab ich auch auf "Maul halten und Aufgaben bearbeiten" geschaltet ...

Alex
 
Leicht off-topic, aber ich habe manchmal das Gefühl, "Wissenvermittlung" ist ohnehin nicht die Stärke des Informatikunterrichts an deutschen Schulen.
Das war damals so und das ist heute vermutlich auch noch so.
Aber hatte man das nicht vor 10 Jahren mit irgendeiner Initiative ändern wollen?

Und nachdem ich in meinem Informatikkurs (Gut, ach, das ist über zwanzig Jahre her ...) im ersten Halbjahr nur 14 Punkte wegen "Off-Topic" bekommen habe, hab ich auch auf "Maul halten und Aufgaben bearbeiten" geschaltet ...
Erinnere ich mich auch noch grob daran. Aber was sollte man den ganzen Rest der Zeit machen...
 
bei Informatik in der Schule habe ich auch nie wirklich was gelernt, aber bei meinem Lehrer hatte ich auch das Gefühl dass der eh nur html und das gesamte Office Paket drauf hatte :)