<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=130.149.17.49</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=130.149.17.49"/>
	<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//Spezial:Beitr%C3%A4ge/130.149.17.49"/>
	<updated>2026-10-28T22:45:34Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.6</generator>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/PalindromeMusterl%C3%B6sung&amp;diff=12588</id>
		<title>C-Kurs/PalindromeMusterlösung</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/PalindromeMusterl%C3%B6sung&amp;diff=12588"/>
		<updated>2009-09-24T09:45:54Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
char* reverse(char wort[]) {&lt;br /&gt;
	char* result = calloc(strlen(wort) + 1, sizeof(char));&lt;br /&gt;
	int i;&lt;br /&gt;
	for(i = 1; i &amp;lt;= strlen(wort); i++)&lt;br /&gt;
		*(result++) = wort[strlen(wort) - i];&lt;br /&gt;
	*result = &#039;\0&#039;;&lt;br /&gt;
	return result - strlen(wort);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int isReverse(char* wort1, char* wort2) {&lt;br /&gt;
	char* wort1Rev = reverse(wort1);&lt;br /&gt;
	return strcmp(wort1Rev, wort2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char* argv[]) {&lt;br /&gt;
	if (argc &amp;lt; 2) return -1;&lt;br /&gt;
	printf(&amp;quot;%s\n%s\n&amp;quot;, argv[1], reverse(argv[1]));&lt;br /&gt;
	printf(&amp;quot;%d\n&amp;quot;, isReverse(argv[1], argv[1]));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/PalindromeMusterl%C3%B6sung&amp;diff=12587</id>
		<title>C-Kurs/PalindromeMusterlösung</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/PalindromeMusterl%C3%B6sung&amp;diff=12587"/>
		<updated>2009-09-24T09:45:28Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: Die Seite wurde neu angelegt: „&amp;lt;pre&amp;gt; #include &amp;lt;stdio.h&amp;gt;  char* reverse(char wort[]) { 	char* result = calloc(strlen(wort) + 1, sizeof(char)); 	int i; 	for(i = 1; i &amp;lt;= strlen(wort); i++) 		*(res...“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
char* reverse(char wort[]) {&lt;br /&gt;
	char* result = calloc(strlen(wort) + 1, sizeof(char));&lt;br /&gt;
	int i;&lt;br /&gt;
	for(i = 1; i &amp;lt;= strlen(wort); i++)&lt;br /&gt;
		*(result++) = wort[strlen(wort) - i];&lt;br /&gt;
	*result = &#039;\0&#039;;&lt;br /&gt;
	return result - strlen(wort);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int isReverse(char* wort1, char* wort2) {&lt;br /&gt;
	char* wort1Rev = reverse(wort1);&lt;br /&gt;
	return strcmp(wort1Rev, wort2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char* argv[]) {&lt;br /&gt;
	if (argc &amp;lt; 2) return -1;&lt;br /&gt;
	printf(&amp;quot;%s\n%s\n&amp;quot;, argv[1], reverse(argv[1]));&lt;br /&gt;
	pr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Diskussion:C-Kurs_2009/Vortrag03&amp;diff=12583</id>
		<title>Diskussion:C-Kurs 2009/Vortrag03</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Diskussion:C-Kurs_2009/Vortrag03&amp;diff=12583"/>
		<updated>2009-09-24T09:16:16Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: Die Seite wurde neu angelegt: „--~~~~ Leider sind die Folien relativ schlecht zur Wiederholung geeignet, da nur Code enthalten ist und kaum bzw. keine Erläuterungen eingefügt wurden. Man müs...“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[Spezial:Beiträge/130.149.17.49|130.149.17.49]] 11:16, 24. Sep. 2009 (CEST) Leider sind die Folien relativ schlecht zur Wiederholung geeignet, da nur Code enthalten ist und kaum bzw. keine Erläuterungen eingefügt wurden. Man müsste sich mit anderen Quellen erst wieder einlesen um die Beispiele nachvollziehen zu können.&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs_2009&amp;diff=12543</id>
		<title>C-Kurs 2009</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs_2009&amp;diff=12543"/>
		<updated>2009-09-23T08:52:31Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&#039;&#039;&#039;[[ckurs/Übungsaufgaben | --&amp;gt; Zu den Übungsaufgaben &amp;lt;-- ]]&#039;&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses Jahr findet unser C-Kurs vor dem Wintersemester statt. Wir, also die Studenten und Studentinnen der Fakultät IV, organisieren den Kurs und vermitteln euch das Wissen, was ihr für den Einstieg in die Programmierung mit der Programmiersprache C brauchen werdet. Dazu haben wir uns folgendes Konzept für den Kurs überlegt: Wir bringen euch die wichtigsten Themen in Vorlesungen bei, welches daraufhin in Übungen eingeübt werden wird. Dabei können wir in den Übungen ganz individuell auf euch eingehen: Wir streben ein Betreuungsverhältnis von 10 Teilnehmer auf einen Tutor an. D.h. ihr könnt nach eurem eigenen Tempo arbeiten und ein Tutor wird euch stets begleiten.&lt;br /&gt;
&lt;br /&gt;
Möglich wird dieser Kurs durch zweierlei Dinge: Erstens engagierte Studenten, die auch anderen Studenten gerne ihr Wissen vermitteln und der Fakultät IV, die das Nötige an Geld und Räumen zur Verfügung stellt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Termine == &lt;br /&gt;
&lt;br /&gt;
Der C-Kurs findet vom Montag, den 21.09.2009 bis einschließlich Freitag, den 25.09.2009 statt. Die Vorlesungen werden in Raum [[MA005]] stattfinden, die Übungen dann wieder im [[Telefunken-Gebäude]] im [[TEL106]] und [[TEL206]].&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 !Zeit&lt;br /&gt;
 !Mo 21.09.2009&lt;br /&gt;
 !Di 22.09.2009&lt;br /&gt;
 !Mi 23.09.2009&lt;br /&gt;
 !Do 24.09.2009&lt;br /&gt;
 !Fr 25.09.2009&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 |09:00-10:00&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[ckurs2009/Vortrag01 | Vortrag]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[ckurs2009/Vortrag03 | Vortrag]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[ckurs2009/Vortrag05 | Vortrag]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[ckurs2009/Vortrag07 | Vortrag]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[ckurs2009/Vortrag09 | Vortrag]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |10:30-12:00&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 |12:00-13:00&lt;br /&gt;
 |Mittagspause&lt;br /&gt;
 |Mittagspause&lt;br /&gt;
 |Mittagspause&lt;br /&gt;
 |Mittagspause&lt;br /&gt;
 |Mittagspause&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 |13:00-14:00&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[ckurs2009/Vortrag02 | Vortrag]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[ckurs2009/Vortrag04 | Vortrag]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[ckurs2009/Vortrag06 | Vortrag]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[ckurs2009/Vortrag08 | Vortrag]]&lt;br /&gt;
 | rowspan=10 bgcolor=&amp;quot;#E8E8A8&amp;quot; | Freitagsrunde&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |14:30-16:00&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Warum teilnehmen? ==&lt;br /&gt;
Der C-Kurs richtet sich an alle, die gerne C lernen möchten. Wir haben uns zum Ziel gesetzt, möglichst gut verständliche und vor allem motivierende Lehre zu machen, weil wir glauben, dass die Uni-Lehre manchmal zu langweilig ist und deshalb viele Studenten unnötigerweise Probleme haben. Lernen sollte Spass machen, nicht anstrengen.&lt;br /&gt;
&lt;br /&gt;
Hauptsächlich hoffen wir damit den Teilnehmern von TechGI3 einen Kickstart für ihre Vorlesung zu geben, weil es je nach Dozent und Zuhörer manchmal zu schnell und manchmal zu langsam geht. Allerdings steht der Kurs jedem offen!&lt;br /&gt;
&lt;br /&gt;
Wenn du also einfach gerne C lernen möchtest, dann bist du herzlich eingeladen!&lt;br /&gt;
&lt;br /&gt;
Der Kurs beruht auf dem Konzept des Javakurses, mit dem wir sehr gute Erfahrungen gemacht haben. Viele Informatiker und Technische Informatiker haben in den Übungsaufgaben des 3. Semesters nicht unbedingt Probleme mit dem Stoff des Semesters selbst, sondern quälen sich jedoch sehr beim Erlernen der Sprache C. &lt;br /&gt;
&lt;br /&gt;
Der Kurs wird wie der Javakurs fast komplett von engagierten StudentInnen geplant und durchgeführt. Insgesamt stehen euch in den Übungen fünfzehn TutorInnen mit Rat und Tat zur Seite, im Schnitt also einer für fünf bis zehn Studentierende. Aus den Reihen der TutorInnen rekrutieren sich auch unsere Vortragenden in den Vorlesungen.&lt;br /&gt;
&lt;br /&gt;
Der Kurs kann in der Kürze der Zeit bei weitem nicht alle Aspekte von C beleuchten, hierfür sind weiterführende Lehrveranstaltungen und das Lehrpersonal der Uni da. Er stellt jedoch eine gute Starthilfe dar und hilft vor allem StudentInnen denen die Umgang mit der Programmiersprache C noch fremd ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Es gibt für diesen Kurs keinerlei Scheine.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es gibt auch keinerlei Anwesenheitspflicht. Dementsprechend entspannt ist allerdings auch die Atmosphäre. :)&lt;br /&gt;
&lt;br /&gt;
== Anmeldung ==&lt;br /&gt;
Ihr müsst euch zu dem C-Kurs anmelden, damit wir ein wenig besser planen können. Bitte meldet euch [https://www.freitagsrunde.org/~florian/anmeldescript/index.php?event=ckurs09 auf dieser Seite] an.&lt;br /&gt;
&lt;br /&gt;
== Teilnahmevoraussetzungen ==&lt;br /&gt;
Der C-Kurs ist für StudentInnen, die schon Erfahrung mit Java haben. Wir setzen rudimentäre Programmierkenntnisse voraus. Ausserdem setzen wir rudimentäre Kentnisse wie man einen Computer bedient voraus. Wir bringen euch nicht bei, wie ihr eine Datei öffnet oder einen Browser bedient.&lt;br /&gt;
&lt;br /&gt;
Die zweite Voraussetzung ist eine Möglichkeit bzw. ein Account um in den Übungsräumen zu arbeiten. Die Übungen finden in den Rechnerräumen des IRB statt. In diese Rechner kann man sich mit einem TubIT- oder CS-Account einloggen. Wenn du noch keinen TubIT oder CS-Account hast, bist du vermutlich auch nicht Student an der TU Berlin. Dann ist die einfachste Lösung für Dich deinen eigenen Laptop mitzubringen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
&lt;br /&gt;
Die Übungsaufgaben findest du [[Ckurs/Übungsaufgaben|hier]].&lt;br /&gt;
&lt;br /&gt;
== Feedback ==&lt;br /&gt;
&lt;br /&gt;
[[Ckurs2009/Feedback|Feedback zum Kurs 2009]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Orga-Team ==&lt;br /&gt;
* Mario B.&lt;br /&gt;
* Sebastian D.&lt;br /&gt;
* Alexander E.&lt;br /&gt;
* Daniel S.&lt;br /&gt;
&lt;br /&gt;
[[Ckurs2009/orga]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Veranstaltungen der Freitagsrunde]]&lt;br /&gt;
[[Kategorie: CKurs]]&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs_2009/Feedback&amp;diff=12542</id>
		<title>C-Kurs 2009/Feedback</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs_2009/Feedback&amp;diff=12542"/>
		<updated>2009-09-23T08:49:25Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Feedback hier bitte&lt;br /&gt;
&lt;br /&gt;
--[[Spezial:Beiträge/130.149.17.49|130.149.17.49]] 10:49, 23. Sep. 2009 (CEST) Ich fände es sehr angenehm, wenn die Vortragenden sich auf ein Folientemplate einigen würden und auch die Dateinamen nach dem selben Muster gestalten (z.B. VLNummer-Thema.pdf oder so). Hilft erstens auch im nächsten Semester noch den Überblick zu haben und zweitens kann man dann auch ohne weiteres ein großes &amp;quot;Skript&amp;quot; aus den Dateien erstellen und dieses dann als Gesamtwerk online stellen.&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs_2009/Feedback&amp;diff=12541</id>
		<title>C-Kurs 2009/Feedback</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs_2009/Feedback&amp;diff=12541"/>
		<updated>2009-09-23T08:49:13Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Feedback hier bitte&lt;br /&gt;
--[[Spezial:Beiträge/130.149.17.49|130.149.17.49]] 10:49, 23. Sep. 2009 (CEST) Ich fände es sehr angenehm, wenn die Vortragenden sich auf ein Folientemplate einigen würden und auch die Dateinamen nach dem selben Muster gestalten (z.B. VLNummer-Thema.pdf oder so). Hilft erstens auch im nächsten Semester noch den Überblick zu haben und zweitens kann man dann auch ohne weiteres ein großes &amp;quot;Skript&amp;quot; aus den Dateien erstellen und dieses dann als Gesamtwerk online stellen.&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs_2009/Feedback&amp;diff=11876</id>
		<title>Javakurs 2009/Feedback</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs_2009/Feedback&amp;diff=11876"/>
		<updated>2009-03-26T12:03:38Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: /* Paul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines Feedback zum Javakurs 2009 =&lt;br /&gt;
==== Paul ====&lt;br /&gt;
Da ich den Anstoss zu dieser Seite gegeben habe, werd ich auch gleich was schreiben :-) Ich wollte im Moment eigentlich nur loswerden, dass ich es wirklich gut finde, dass ihr nicht nur Java lehrt, sondern auch Grundprinzipien des Programmierens vermittelt (z.B. &amp;quot;Von der Aufgabe zum Code&amp;quot;).&lt;br /&gt;
Joa soweit erstmal von mir, freu mich auf die nächsten Tage!&lt;br /&gt;
edit sagt: Es ist nur noch ein Tag ^^&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Schaltjahr&amp;diff=9753</id>
		<title>Javakurs/Übungsaufgaben/Schaltjahr</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Schaltjahr&amp;diff=9753"/>
		<updated>2009-03-26T10:38:28Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: /* Kommentare */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Aufgabenstellung ===&lt;br /&gt;
&lt;br /&gt;
Schreibt eine Methode, welche entscheidet, ob es sich bei der übergebenen Jahreszahl um ein Schaltjahr handelt, oder nicht. Die Jahreszahl könnte man als Integer (int) übergeben, der Rückgabewert des Methode sollte ein Wahrheitswert (boolean) sein.&lt;br /&gt;
&lt;br /&gt;
Die Methode könnte so aussehen:&lt;br /&gt;
 public static boolean &#039;&#039;&#039;isLeapYear&#039;&#039;&#039;(int &#039;&#039;&#039;year&#039;&#039;&#039;) {&lt;br /&gt;
 &lt;br /&gt;
 [...]&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Die Eigenschaften eines Schaltjahres sind ===&lt;br /&gt;
&lt;br /&gt;
a) Ein Jahr ist kein Schaltjahr, wenn die Jahreszahl nicht durch 4 teilbar ist.&lt;br /&gt;
&lt;br /&gt;
b) Ein Jahr ist ein Schaltjahr, wenn die Jahreszahl durch 4, aber nicht durch 100 teilbar ist.&lt;br /&gt;
&lt;br /&gt;
c) Ein Jahr ist ebenfalls ein Schaltjahr, wenn die Jahreszahl durch 4, durch 100 und durch 400 teilbar ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Zusatzaufgabe ===&lt;br /&gt;
Statte dein Programm mit einer nutzerfreundlichen Interaktion aus. Dazu kannst du die Klasse Terminal verwenden: [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/Terminal.java Terminal.java]. Um die Klasse benutzen zu können, muss sie im gleichen Verzeichnis liegen wie dein Programm auch.&lt;br /&gt;
&lt;br /&gt;
Beispiel zum Einlesen eines Integer-Wertes (int):&lt;br /&gt;
 int number = Terminal.readInt();&lt;br /&gt;
&lt;br /&gt;
oder mit einem Hinweis:&lt;br /&gt;
 int number = Terminal.askInt(&amp;quot;Please enter a number: &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Probiert einfach mal aus, was die Klasse so alles kann. Übrigens ist sie sehr gut (auch Deutsch) kommentiert. Also einfach mal rein gucken.&lt;br /&gt;
&lt;br /&gt;
Ziel der Aufgabe ist es, dass der Benutzer auf der Konsole aufgefordert wird, eine Jahreszahl einzugeben und daraufhin eine Antwort bekommt, ob die eingegebene Jahreszahl ein Schaltjahr ist, oder nicht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;br /&gt;
&lt;br /&gt;
==== Paul ====&lt;br /&gt;
Ändert doch mal &lt;br /&gt;
&lt;br /&gt;
 a) Ein Jahr ist kein Schaltjahr, wenn die Jahreszahl nicht durch 4 teilbar ist.&lt;br /&gt;
&lt;br /&gt;
in&lt;br /&gt;
 a) Ein Jahr ist ein Schaltjahr, wenn die Jahreszahl durch 4 teilbar ist.&lt;br /&gt;
Dann hätte man einfach nur drei Bedingungen, die man sofort umsetzen kann.&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs_2009/Feedback&amp;diff=11875</id>
		<title>Javakurs 2009/Feedback</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs_2009/Feedback&amp;diff=11875"/>
		<updated>2009-03-26T10:11:55Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: /* Allgemeines Feedback zum Javakurs 2009 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines Feedback zum Javakurs 2009 =&lt;br /&gt;
==== Paul ====&lt;br /&gt;
Da ich den Anstoss zu dieser Seite gegeben habe, werd ich auch gleich was schreiben :-) Ich wollte im Moment eigentlich nur loswerden, dass ich es wirklich gut finde, dass ihr nicht nur Java lehrt, sondern auch Grundprinzipien des Programmierens vermittelt (z.B. &amp;quot;Von der Aufgabe zum Code&amp;quot;).&lt;br /&gt;
Joa soweit erstmal von mir, freu mich auf die nächsten Tage!&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Crack_the_Password&amp;diff=9835</id>
		<title>Javakurs/Übungsaufgaben/Crack the Password</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Crack_the_Password&amp;diff=9835"/>
		<updated>2009-03-25T13:19:51Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: /* Kommentare */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Crack the Password! ===&lt;br /&gt;
Nachdem du dich erfolgreich in Prof. Peppers&#039; Computer gehackt hast, stehst du jetzt vor der letzten Barriere, bevor du dir die Musterlösung pünktlich vor der Klausur saugen kannst.&lt;br /&gt;
&lt;br /&gt;
Der folgende Code überprüft das Passwort, mit dem du dich einloggen kannst. Alles was du aus internen Quellen weißt, ist, dass es nur 4 gültige Zahlen zwischen 1 und 1000 gibt um dich einzuloggen.&lt;br /&gt;
&lt;br /&gt;
Kopiere folgende Methode, die überprüft ob die Passworteingabe richtig war, in dein Programm.&lt;br /&gt;
&lt;br /&gt;
 public static boolean checkPasscode(int H4X0R){&lt;br /&gt;
 	// returns true if passcode is valid&lt;br /&gt;
 	boolean result = false;&lt;br /&gt;
 	for(int E1337=42; E1337&amp;lt;=(52^(0x6c)); E1337+=(3&amp;lt;&amp;lt;(14%6))){&lt;br /&gt;
 		if(result=((++E1337|E1337+(2&amp;gt;&amp;gt;&amp;gt;1))^(1+H4X0R))==(123456789&amp;amp;0))&lt;br /&gt;
 			break;&lt;br /&gt;
 	}&lt;br /&gt;
 		return result;&lt;br /&gt;
 }&lt;br /&gt;
		&lt;br /&gt;
# Finde die 4 gültigen Zahlen mittels [[wikipedia:Brute-Force|Brute-Force]] und gib sie auf der Konsole aus (Brute-Force = Rohe Gewalt, darunter versteht man das simple Ausprobieren aller möglichen Kombinationen).&lt;br /&gt;
# Für die absoluten Cracks: Wie funktioniert der Algorithmus?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hinweis: Eine Übersicht zu den verwendeten Java-Operatoren könnte nützlich sein: http://www.java-forum.org/java-faq-beitraege/1364-operatoren-ubersicht.html&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sebastian:&lt;br /&gt;
&lt;br /&gt;
Interessanter Code.) Hat ne Zeitlang gedauert ihn zu verstehen und die Passwörter ohne Burtforce zu erhalten, aber es ging:). Noch lustiger wäre es gewesen, wenn in dem Prog ne Art Timer drin wäre. Sodass man zb die 1. Zahl nur 10 sec eingeben kann und er dann in die nächste schleifenrunde läuft.)&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Crack_the_Password&amp;diff=9834</id>
		<title>Javakurs/Übungsaufgaben/Crack the Password</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Crack_the_Password&amp;diff=9834"/>
		<updated>2009-03-25T13:19:17Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: /* Kommentare */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Crack the Password! ===&lt;br /&gt;
Nachdem du dich erfolgreich in Prof. Peppers&#039; Computer gehackt hast, stehst du jetzt vor der letzten Barriere, bevor du dir die Musterlösung pünktlich vor der Klausur saugen kannst.&lt;br /&gt;
&lt;br /&gt;
Der folgende Code überprüft das Passwort, mit dem du dich einloggen kannst. Alles was du aus internen Quellen weißt, ist, dass es nur 4 gültige Zahlen zwischen 1 und 1000 gibt um dich einzuloggen.&lt;br /&gt;
&lt;br /&gt;
Kopiere folgende Methode, die überprüft ob die Passworteingabe richtig war, in dein Programm.&lt;br /&gt;
&lt;br /&gt;
 public static boolean checkPasscode(int H4X0R){&lt;br /&gt;
 	// returns true if passcode is valid&lt;br /&gt;
 	boolean result = false;&lt;br /&gt;
 	for(int E1337=42; E1337&amp;lt;=(52^(0x6c)); E1337+=(3&amp;lt;&amp;lt;(14%6))){&lt;br /&gt;
 		if(result=((++E1337|E1337+(2&amp;gt;&amp;gt;&amp;gt;1))^(1+H4X0R))==(123456789&amp;amp;0))&lt;br /&gt;
 			break;&lt;br /&gt;
 	}&lt;br /&gt;
 		return result;&lt;br /&gt;
 }&lt;br /&gt;
		&lt;br /&gt;
# Finde die 4 gültigen Zahlen mittels [[wikipedia:Brute-Force|Brute-Force]] und gib sie auf der Konsole aus (Brute-Force = Rohe Gewalt, darunter versteht man das simple Ausprobieren aller möglichen Kombinationen).&lt;br /&gt;
# Für die absoluten Cracks: Wie funktioniert der Algorithmus?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hinweis: Eine Übersicht zu den verwendeten Java-Operatoren könnte nützlich sein: http://www.java-forum.org/java-faq-beitraege/1364-operatoren-ubersicht.html&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
Sebastian:&lt;br /&gt;
&lt;br /&gt;
Interessanter Code.) Hat ne Zeitlang gedauert ihn zu verstehen und die Passwörter ohne Burtforce zu erhalten, aber es ging:). Noch lustiger wäre es gewesen, wenn in dem Prog ne Art Timer drin wäre. Sodass man zb die 1. Zahl nur 10 sec eingeben kann und er dann in die nächste schleifenrunde läuft.)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Kassenbon&amp;diff=9478</id>
		<title>Javakurs/Übungsaufgaben/Kassenbon</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Kassenbon&amp;diff=9478"/>
		<updated>2009-03-24T11:10:49Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kassenbon ==&lt;br /&gt;
Es soll ein Programm geschrieben werden, dass einen Kassenbon auf der Konsole anzeigt (mit &#039;&#039;System.out.println&#039;&#039;).&lt;br /&gt;
Am Anfang des Programmes werden in Form von Variablen folgende Werte festgelegt:&lt;br /&gt;
&lt;br /&gt;
* Anzahl von mindestens vier verschiedenen Waren, die gekauft werden sollen.&lt;br /&gt;
* Einzelpreise der Waren. (Ja, jede Warensorte hat einen anderen Preis)&lt;br /&gt;
* Inhalt der Brieftasche.&lt;br /&gt;
&lt;br /&gt;
Das Programm soll den Gesamtpreis der eingangs festgelegten Waren ermitteln. Übersteigt der&lt;br /&gt;
Gesamtpreis den Inhalt der Brieftasche, wird der Benutzer auf den fehlenden Betrag hingewiesen.&lt;br /&gt;
Reicht der Inhalt der Brieftasche für den Einkauf aus, wird ein Kassenbon ausgegeben, der&lt;br /&gt;
die gekauften Waren mit Anzahl und Preis sowie am Ende den Gesamtpreis auflistet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Erstellt zuerst die Ausgabe des Kassenbons und füllt sie anschließend mit Berechnungen und der Fallunterscheidung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel wie ein Kassenbon aussehen könnte:&lt;br /&gt;
&lt;br /&gt;
 Wurst      1 x  4.20 EUR&lt;br /&gt;
                           4.20 EUR&lt;br /&gt;
 Käse       1 x  2.30 EUR&lt;br /&gt;
                           2.30 EUR&lt;br /&gt;
 Brot       1 x  2.10 EUR&lt;br /&gt;
                           2.10 EUR&lt;br /&gt;
 DVD        2 x 12.00 EUR&lt;br /&gt;
                          24.00 EUR&lt;br /&gt;
 ----------------------------------&lt;br /&gt;
 Gesamt                   32.60 EUR&lt;br /&gt;
 Gegeben                  50.00 EUR&lt;br /&gt;
 &lt;br /&gt;
 Zurück                   17.40 EUR&lt;br /&gt;
&lt;br /&gt;
== Kassenbon + automatischer Einkauf ==&lt;br /&gt;
Erstellt eine Kopie eures soeben geschriebenden Programmes.&lt;br /&gt;
Verändert das Programm so, dass nun der Kassenbon solange mit Waren gefüllt wird, bis der&lt;br /&gt;
Inhalt der Brieftasche für keine weiteren Einkäufe ausreicht. Betrachtet der Einfachheit halber&lt;br /&gt;
mehrere Produkte eines Typs als einen Einkauf.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Viele, viele Fallunterscheidungen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schaun ob irgend jemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Unknown User ====&lt;br /&gt;
hallo alle freitagsrunde Team, &lt;br /&gt;
&lt;br /&gt;
diese lehrveranstaltung finde ich persönlich super megageil, aber ich wünsche,dass die Musterlösungen von solchen schweren Aufgaben im Netz gestellt werden. &lt;br /&gt;
&lt;br /&gt;
ich wünsche Euch viel Erfolg und weiterso...:-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
&lt;br /&gt;
Der Eine oder Andere hat darauf bestanden auf seinem Kassenbon keine Hundertstelcent ausgeben zu wollen. Diese entstehen mitunter dadurch, dass Doublewerte mit einer gewissen Toleranz gespeichert werden.&lt;br /&gt;
Hier ein Vorschlag für einen Workaround:&lt;br /&gt;
&lt;br /&gt;
 double kommazahl = 123.290402;&lt;br /&gt;
 	&lt;br /&gt;
 int ganzzahl = (int)kommazahl; // Nachkommastelle abschneiden&lt;br /&gt;
 int kommastelle = (int)(kommazahl * 100)%100 ; // zwei Nachkommastellen extrahieren&lt;br /&gt;
  &lt;br /&gt;
 System.out.println(&amp;quot;Preis=&amp;quot; + ganzzahl + &amp;quot;.&amp;quot; + kommastelle ); // Zahl in der Ausgabe zusammensetzen&lt;br /&gt;
&lt;br /&gt;
==== Ich ====&lt;br /&gt;
Wie ist das gemeint, mit Kassenbon automatisch füllen?&lt;br /&gt;
Man kann doch nicht &amp;quot;zufällig&amp;quot; einkaufen...&lt;br /&gt;
: Die Idee der Aufgabe war es, so lange dasselbe Produkt zu kaufen, wie du kannst. Aber (da am Anfang des Kurses) nicht mit einer Schleife, sondern mit mehreren if&#039;s. -- [[Benutzer:Buchholz|Robert Buchholz]] 02:13, 4. Jun. 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
=== Me2 ===&lt;br /&gt;
Beim Kassenbon oben sollte, wenn ich nicht total falsch bin, 17.40 zurück gegeben werden, ist vielleicht für den ein oder anderen ganz nützlich :)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Br%C3%B6tchenmann&amp;diff=11482</id>
		<title>Brötchenmann</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Br%C3%B6tchenmann&amp;diff=11482"/>
		<updated>2009-01-30T14:10:38Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: /* Kommentare */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Im Fanklingebäude und eventuell auch anderswo zieht Mann seine Runden um dort Anwesenden leckere Brötchen zu verkaufen.&lt;br /&gt;
&lt;br /&gt;
=== Angebot ===&lt;br /&gt;
&lt;br /&gt;
Es gibt diverse Arten von Brötchen: helle, dunkle, Körner-, Käse-, Laugenbrötchen und vieles mehr&lt;br /&gt;
&lt;br /&gt;
Belegt sind die Brötchen mit Salami, Schinken, Käse, Ei, Schnitzel und ähnlichem. Ergänzt durch frische Gurken, saftige Tomaten und knackigem Salat. Abgerundet wird das ganze mit leckeren Soßen.&lt;br /&gt;
&lt;br /&gt;
=== Preise ===&lt;br /&gt;
&lt;br /&gt;
* Große Brötchen 2 €&lt;br /&gt;
* Normale Brötchen 1 €&lt;br /&gt;
* Gemischter Salat mit Ei 1,5 €&lt;br /&gt;
* Nudelsalat &lt;br /&gt;
* Obstsalat 2 €&lt;br /&gt;
&lt;br /&gt;
=== Zeiten ===&lt;br /&gt;
&lt;br /&gt;
Üblicherweise Montags bis Freitags zwischen 14:00 und 16:00 Uhr&lt;br /&gt;
&lt;br /&gt;
=== Kommentare ===&lt;br /&gt;
&lt;br /&gt;
* Putenschnitzel-Brötchen sollen gut sein...&lt;br /&gt;
* Er ist auch gelegentlich im TEL.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fakultäts-ABC]]&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=SSH&amp;diff=1804</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=SSH&amp;diff=1804"/>
		<updated>2009-01-30T11:39:44Z</updated>

		<summary type="html">&lt;p&gt;130.149.17.49: /* Arbeiten auf den Rechnern in der Uni */ noch ein Loginserver :)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SSH&#039;&#039;&#039; steht für &#039;&#039;&#039;Secure SHell&#039;&#039;&#039; und bezeichnet ein Netzwerkprotokoll, mit dem man sich auf entfernten Rechnern einloggen kann, um dort Programme auszuführen. Außerdem ist es möglich, über SSH auch Dateien zu kopieren (per &#039;&#039;&#039;scp&#039;&#039;&#039; oder &#039;&#039;&#039;sftp&#039;&#039;&#039;) oder andere Protokolle zu tunneln.&lt;br /&gt;
&lt;br /&gt;
SSH ist ein Ersatz für das &#039;&#039;&#039;Telnet&#039;&#039;&#039;-Protokoll, mit dem man sich ebenfalls auf anderen Rechnern einloggen kann und für &#039;&#039;&#039;FTP&#039;&#039;&#039;, das auch noch heute häufig für den Datentransfer verwendet wird. Telnet  und FTP arbeiten im Gegensatz zu SSH jedoch unverschlüsselt, somit ist es einfach, die übertragenen Daten und somit auch die Passwörter von anderen Benutzern mitzulesen.&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Bei allen [[Unix]]/[[Linux]]-Systemen sind SSH-Clients vorhanden und werden meist auch schon standardmäßig mitinstalliert (Kommandos: &amp;lt;code&amp;gt;ssh&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scp&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sftp&amp;lt;/code&amp;gt;). Für [[Windows]]-Systeme gibt es ebenfalls einige SSH-Clients, am häufigsten wird wohl [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] verwendet.&lt;br /&gt;
&lt;br /&gt;
Ein SFTP und SCP-Client zum Kopieren von Dateien über das Netzwerk ist ebenfalls bei [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] vorhanden. [http://winscp.sourceforge.net/eng/ WinSCP] ist ein weiterer SCP/SFTP-Client für [[Windows]].&lt;br /&gt;
&lt;br /&gt;
Wo nicht anders angegeben, bezieht sich die weitere Beschreibung auf die OpenSSH-Implementierung. Diese gehört in modernen Linuxdistributionen und im Fakultätsnetz zur Standardausrüstung.&lt;br /&gt;
&lt;br /&gt;
== SSH für den Zugriff auf das Fakultätsnetz ==&lt;br /&gt;
&lt;br /&gt;
Per SSH könnt ihr auch bequem von zu Hause aus auf das Fakultätsnetz zugreifen und auf den Workstations oder Servern in der Uni Kommandos ausführen oder Dateien aus oder in den eigenen Bereich kopieren.&lt;br /&gt;
&lt;br /&gt;
=== Arbeiten auf den Rechnern in der Uni ===&lt;br /&gt;
Das Einloggen funktioniert vom Prinzip her so:&lt;br /&gt;
 ssh &#039;&#039;benutzername&#039;&#039;@&#039;&#039;rechnername&#039;&#039;&lt;br /&gt;
oder wenn man sich mit dem Benutzernamen einloggen will, den man gerade verwendet:&lt;br /&gt;
 ssh &#039;&#039;rechnername&#039;&#039;&lt;br /&gt;
Wenn man sich auf dem aktuellen Rechner einloggen will, geht auch&lt;br /&gt;
 ssh &#039;&#039;benutzername&#039;&#039;&lt;br /&gt;
Das Ergebnis ist im Allgemeneinen eine Shell auf dem angegebenen Rechner mit den Rechten des angegebenen Benutzers.&lt;br /&gt;
&lt;br /&gt;
Als Rechnernamen könnt Ihr (fast) alle öffentlich erreichbaren Rechner im Fakultätsnetz verwenden, z.&amp;amp;nbsp;B. &amp;lt;code&amp;gt;pepita.cs.tu-berlin.de&amp;lt;/code&amp;gt; (Hinweis: &#039;&#039;&#039;nicht&#039;&#039;&#039; &amp;lt;code&amp;gt;cs.tu-berlin.de&amp;lt;/code&amp;gt; als Rechnernamen verwenden, sondern einen Rechner unterhalb dieser Domäne). Windows-SSH-Clients verfügen meist über eine [[GUI]], über die ihr den gewünschten Rechner, Euren Benutzernamen und das Passwort eingeben könnt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Für Leute &amp;lt;u&amp;gt;nur&amp;lt;/u&amp;gt; mit tubIT-Account ist der SSH-Login auf die Server pronto.cs.tu-berlin.de, hombre.cs.tu-berlin.de, kiosco.cs.tu-berlin.de, tienda.cs.tu-berlin.de und bazar.cs.tu-berlin.de im IRB-Netz möglich.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn ihr auf einem Unix/Linux-Rechner (oder auch unter Windows, wenn Ihr einen X-Server installiert habt) arbeitet, besteht auch die Möglichkeit, grafische Programme auf Rechnern in der Uni zu starten und die Ausgabe auf den heimischen Rechner umzuleiten, dies wird als X11-Forwarding bezeichnet.&lt;br /&gt;
&lt;br /&gt;
Um X11-Forwarding zu aktivieren, muss beim Aufruf der Parameter &amp;lt;code&amp;gt;-X&amp;lt;/code&amp;gt; oder sicherer &amp;lt;code&amp;gt;-Y&amp;lt;/code&amp;gt; mit angegeben werden, außerdem empfiehlt es sich vor allem bei langsamen Internetzugängen (Modem, ISDN, ADSL), die Verbindung zu komprimieren (&amp;lt;code&amp;gt;-C&amp;lt;/code&amp;gt;):&lt;br /&gt;
 ssh -Y -C &#039;&#039;benutzer&#039;&#039;@&#039;&#039;rechnername&#039;&#039;&lt;br /&gt;
 ssh -X -C &#039;&#039;benutzer&#039;&#039;@&#039;&#039;rechnername&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, aus Sicherheitsgründen immer zuerst das Forwarding mittels -Y zu aktivieren - da bei -X der Zugriff von den Unirechnern auf den Heimischen X-Desktop möglich ist.&lt;br /&gt;
&lt;br /&gt;
Es besteht auch die Möglichkeit, eigenes Arbeitsplatz nur als X-Terminal zum Uni-Rechnern zu nutzten. Dazu muss man auf eigenen Rechner eine X-Session nur mit Terminalfenster öffnen. Bei GDM geht das, wenn man als Session &amp;quot;Failsafe Terminal&amp;quot; wählt. Dann verbindet sich man mit X-Forwarding zum Uni-Rechner und feuert &amp;lt;code&amp;gt;gnome-session&amp;lt;/code&amp;gt; ab. So wird Java Desktop System erzeugt. Man soll den Terminalfenster mit gnome-session nicht schließen, bis man sich nicht ausloggen will. Es können auch andere X-Sessions gestartet werden, wenn man die entsprechende Kommandos kennt, &lt;br /&gt;
z.B. &amp;lt;code&amp;gt;twm, icewm, fvwm&amp;lt;/code&amp;gt;. Die Verbindung sollte dann allerdings etwas besser sein, da größere Datenmengen übertragen werden.&lt;br /&gt;
&lt;br /&gt;
Wer keine Lust hat, bei jedem Login ein Passwort einzugeben, kann statt dessen Public-Key-Authentifizierung benutzen. Dazu erstellt man, sofern noch nicht geschehen, zu Hause einen öffentlichen und einen privaten Schlüssel für SSH, zum Beispiel mit&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
und leerer Passphrase, kopiert dann die soeben erstellte Datei id_rsa.pub (&#039;&#039;&#039;nicht&#039;&#039;&#039; id_rsa - die ist geheim!) mit scp ins Homeverzeichnis im Fakultätsnetz. Verbindet euch danach per SSH dorthin und führt dort&lt;br /&gt;
 cat id_rsa.pub &amp;gt;&amp;gt; .ssh/authorized_keys&lt;br /&gt;
aus. Die kopierte Datei kann danach entfernt werden. (Vorsicht: $HOME/.ssh/id_rsa* &#039;&#039;&#039;nicht&#039;&#039;&#039; löschen.)&lt;br /&gt;
&lt;br /&gt;
=== Kopieren von Dateien ===&lt;br /&gt;
Mit Hilfe von &#039;&#039;&#039;scp&#039;&#039;&#039; oder &#039;&#039;&#039;sftp&#039;&#039;&#039; könnt Ihr auch Dateien von der Uni nach Hause kopieren oder umgekehrt. Für Windows und auch Unix/Linux gibt es dafür grafische Programme, die ähnlich wie gewöhnliche FTP-Clients aussehen und funktionieren. Viele FTP-Programme beherrschen mittlerweile auch SFTP, darunter auch [http://filezilla.sourceforge.net/ FileZilla], [http://gftp.seul.org/ gFTP] etc.&lt;br /&gt;
&lt;br /&gt;
GNOME und KDE bieten außerdem die Möglichkeit, direkt auf SSH-Accounts mittels der Dateiverwaltung (Nautilus/Konqueror) zuzugreifen. Der URL dazu lautet: &amp;lt;code&amp;gt;sftp://BENUTZERNAME@user.cs.tu-berlin.de:22/~&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe von [[WikiPedia:Filesystem_in_Userspace|FUSE]] kann man die Daten eines anderen Rechners auch per ssh/sftp mounten, das heißt ins lokale Dateisystem einhängen.&lt;br /&gt;
&lt;br /&gt;
Auf der Konsole unter Unix/Linux funktioniert das Kopieren von Dateien so (Kopieren von entferntem auf lokalen Rechner):&lt;br /&gt;
 scp &#039;&#039;benutzername&#039;&#039;@&#039;&#039;rechnername&#039;&#039;:&#039;&#039;Quelle&#039;&#039; &#039;&#039;Ziel&#039;&#039;&lt;br /&gt;
oder umgekehrt (von lokalem Rechner auf entfernten):&lt;br /&gt;
 scp &#039;&#039;Quelle&#039;&#039; &#039;&#039;benutzername&#039;&#039;@&#039;&#039;rechnername&#039;&#039;:&#039;&#039;Ziel&#039;&#039;&lt;br /&gt;
Es gilt im Wesentlichen die Semantik von &amp;lt;code&amp;gt;[[Die wichtigsten Unix-Befehle#cp|cp]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Natürlich ist es auch möglich mehrere Dateien oder ganze Verzeichnisse einschließlich Unterverzeichnissen ([[Rekursion|rekursiv]]) oder Dateien zwischen verschiedenen entfernten Rechnern zu kopieren. Weitere Informationen dazu erhält man über die [[Manpage]] zu scp (&amp;lt;code&amp;gt;man scp&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Tunnel mit SSH ===&lt;br /&gt;
SSH kann auch allgemein eine Verbindung zu einem entfernten Rechner herstellen und als Tunnel agieren, also Daten zwischen eigenem und entferntem Rechner transportieren. Dazu zwei Beispiele.&lt;br /&gt;
&lt;br /&gt;
==== Zugriff auf &amp;lt;code&amp;gt;news.cs.tu-berlin.de&amp;lt;/code&amp;gt; von zu Hause ====&lt;br /&gt;
Der Newsserver erlaubt den Schreibzugriff nur für Rechner im Fakultätsnetz. Mit einem Tunnel kann man das simulieren:&lt;br /&gt;
 ssh -L localhost:20119:news.cs.tu-berlin.de:119 -l &#039;&#039;foo&#039;&#039; -T fiesta.cs.tu-berlin.de&lt;br /&gt;
Dabei ist 20119 die Portnummer auf dem eigenen Rechner, zu der die Verbindung weitergeleitet wird, &amp;lt;code&amp;gt;fiesta.cs.tu-berlin.de&amp;lt;/code&amp;gt; der Rechner, von dem aus sie hergestellt wird und &#039;&#039;foo&#039;&#039; der eigene Benutzername im Fakultätsnetz.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seit dem 30.12.2005 gibt es den Rechner &amp;quot;news.cs.tu-berlin.de&amp;quot; nicht mehr (abgeschaltet).&lt;br /&gt;
Die TU verweist auf den Newsserver des DFN &amp;quot;News.CIS.DFN.DE&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
Nutzerordnung unter: http://news.cis.dfn.de/dnn/&lt;br /&gt;
&lt;br /&gt;
==== Zugriff auf &amp;lt;code&amp;gt;mailhost.cs.tu-berlin.de&amp;lt;/code&amp;gt; von zu Hause ====&lt;br /&gt;
&lt;br /&gt;
Dies wird in einem eigenen Artikel beschrieben: [[Email]]&lt;br /&gt;
&lt;br /&gt;
==== Zugriff auf Webseiten mit IP-Adressen-Zugriffsbeschränkung ====&lt;br /&gt;
Dank der Unibibliothek kann man von Unirechnern aus Inhalte aus dem WWW abrufen, an die man sonst nicht so leicht herankommt. Für Informatiker und/oder E-Techniker ist zum Beispiel der Zugriff auf die [http://ieeexplore.ieee.org/ IEEE-Normen] interessant; weitere Information gibt es auf der [http://www.ub.tu-berlin.de/ Homepage der Bibliothek]. Um darauf von zu Hause zuzugreifen, richtet man zum Beispiel mit&lt;br /&gt;
 ssh -L localhost:28080:www.cs.tu-berlin.de:81 -l &#039;&#039;foo&#039;&#039; -T fiesta.cs.tu-berlin.de&lt;br /&gt;
einen Tunnel zwischen dem Proxyserver im Fakultätsnetz (siehe http://irb.cs.tu-berlin.de/dienste/www/proxy.html für Portnummern) und Port 28080 auf dem eigenen Rechner über fiesta.cs.tu-berlin.de ein und stellt im Lieblingsbrowser &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; und Port 28080 als Proxyserver ein. &#039;&#039;foo&#039;&#039; ist dabei wieder der Benutzername.&lt;br /&gt;
&lt;br /&gt;
==== SSH als SOCKS-Proxy ====&lt;br /&gt;
&lt;br /&gt;
Seit einiger Zeit ist der ssh-Client auch in der Lage, als socks-Proxy zu fungieren.&lt;br /&gt;
&lt;br /&gt;
Dazu starte man ihn mit der Option -D8080 und gebe als SOCKS-Proxy localhost und port 8080 an. Die Felder zu HTTP/FTP-Proxy in der Konfiguration des Lieblingsbrowsers bleiben dabei leer:&lt;br /&gt;
&lt;br /&gt;
 ssh -D 8080 login@bolero.cs.tu-berlin.de &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSH-Tunnels ist, dass sie im Vergleich zu direkten Verbindungen einen Ressourcenoverhead hinzufügen. Deshalb sollten sie genau dann benutzt werden, wenn die zusätzliche Funktionalität tatsächlich benötigt wird.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* http://www.openssh.com/&lt;br /&gt;
* http://www.ssh.com/&lt;br /&gt;
* http://www.chiark.greenend.org.uk/~sgtatham/putty/&lt;br /&gt;
* http://www.cygwin.com/ - Eine Sammlung auf Windows portierter Unix-typischer freier Software, inklusive X-Server und ssh.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fachbegriffe der Informatik]]&lt;br /&gt;
[[Kategorie: Fakultäts-ABC]]&lt;br /&gt;
[[Kategorie: Überleben im Fakultätsnetz]]&lt;/div&gt;</summary>
		<author><name>130.149.17.49</name></author>
	</entry>
</feed>