ユーマちゃんのブログ

質問・要望はTwitterもしくはコメントで。返信はTwitterで。

大学生活で必要なパソコン

パソコンは理系も文系も使うので絶対買った方がいいです。お金があったら。なくても生きてる人は少数いますが...

 

とゆことで、どんぐらいのスペックが必要か、という話です。大体3〜4年もたせることを考えると、それなりのパソコンは買うべきだと思います。大学に入ってから何するかによりますが、大抵の場合、それなりにパソコンが良ければ事はなせるはずです。

 

「それなり」じゃない場合というのは、例えばガチでプログラミングやりますとかWindows上に仮想空間作って環境作りますとか機械学習やりますとか...そういう高度なことをやる場合はそれなりの奴だと耐えません。

 

そういうことやりたい人、もしくはやろうと思ってる人は詳しい人のブログ見てください。機械学習とか高度なプログラミングとかは大学入ってから暇になってやりたがる人が沢山発生する印象。今、少しでも興味があるのなら20万以上の良いものを買っとけば「あーもう少しいいやつ買っときゃよかった」という後悔をあんまりしないと思います。多分。

 

そうじゃない人は15〜20万ぐらいのやつ買っとけば良いと思います。ただし、次のような人たちはより高いスペックが求められると思われます。少しだけ性能高めのにしとけば良いと思います。

・設計とかやる可能性のある人

・授業でやるような初歩的なプログラミングやる可能性のある人

上記のような工学部をはじめとしたその他理系

 

・サークルや部活でTシャツのデザインを作りたいと考えてる人

・ビデオの編集などを行う可能性がある人 など

 

上に該当しなそうだなって人は生協で売ってるやつでいいと思います。生協で売ってるものは超軽いしスペックも丁度いいと僕は思います。

 

望ましいスペックを具体的に言うと(Windowsの場合)

SSD 256GB〜

・メモリ 4GB〜 できれば8GB〜

・CPU intel core i3 / i5 / i7

(一般的に数字が高い方が新しくて高い 3<5<7)

ここら辺をチェックしてくれれば大体失敗はしないでしょう。SSDの容量の大きさはかなり値段に大きく影響を与えます。最小は128GB(たぶん)なのですが、それだとかなり無理があります。最低でも256GBのものを買いましょう。容量不足は外付けのHDDを別に買って補うのがローコストで良いでしょう。

あと、タッチパネルは多分使わないので要らないと思います。タッチペンでお絵描きしたい人はiPadとか別に買えば良いと思われます。

 

Macは20万ぐらいの買っとけば良いと思います。あんま詳しい話はわかりません。Macも持ってるんですが、父が40万以上で買ったものを譲ってもらったので全然参考になりません。

 

ちなみに僕は二代続けてVaio使ってます。自分の好きなスペックをVaioのホームページでカスタマイズできます。

Windows 10 Professional

SSD 256GB (第三世代ハイスピードSSD)

メモリ 16GB

CPU intel Core i7 (バージョン忘れた)

指紋認証なし

Microsoft Officeなし

13インチ

 

これで税込223344円だったと思います。これは相当良い方だと思います。良くてこんなもんだと思って参考にしていただければ。

 

Macは忘れた。なんかでかくて重たくて高い。

 

 

 

大学に入って必要だったものシリーズ

大学受験お疲れ様です。

大阪に行く途中なんですが、道中暇なので、友人に何度か聞かれた「大学に入ってから必要だったもの」を書いておきたいと思います。ただし、話は京大に限ります。

 

必要だった機器

・パソコン+office

スマホ

・プリンター

・ネット環境

 

まぁどれも当たり前なのですが、パソコンはなるたけ良いものを買うべきです。京大生協で売られてるものは17万円くらいの軽くて性能良いやつは悩みたくない人にはオススメ。ただデザインがダサいので俺は嫌い。パソコンについては後述。

注意すべきところはMicrosoft Office(ワードとかエクセルとか)。大学における殆どのレポートはWordファイルかPDFで提出なのでofficeはなきゃダメです。そこで大事なことが1つ。どこでパソコンを買うにしろ、officeは京大の包括ライセンスで購入すべきです。詳しくはここのサイトから

http://www.s-coop.net/service/research/pc_license/individual.html

 

なんと四年の間、約5200円で使える上、5台のパソコン+5台のデバイス+5台のタブレットで使用可能です。僕はマックとwinの両方を持ってるので本当に助かります。しかもoffice365などのかなり良いオプションも付きます。

カスタマイズでパソコンを買う方はofficeを初期状態で購入しないようにすべきです。

 

スマホは持ってるでしょ。持ってなきゃ色々と面倒だから持つべき。ネット環境もね。割愛。

 

プリンター。プリンターはあるべき。今までは京大で一年間に200枚まで無料で印刷できましたが、次年度から廃止される(?)らしいです。

詳細は不明ですが、どちらにせよプリンターは家にあるべきです。わざわざ営業時間も短く、有料の大学生協などで印刷するのはコスパも利便性も低いね。ちなみに僕は一人暮らし初年にして一台プリンターをぶっ壊したのでまた新しいのを買いました。すまん...。

 

※印刷をする機会は人によって大きく違います。例えば、医学部・薬学部・化学系(農・工・理)・物理系は実験が多めなので、大量のレポートを印刷して提出することになると思います。

また、これは全員に関係する話ではありませんが、外国人教員はメールかオンラインシステム(京大PANDAシステムやDropbox)で提出させることがほとんどなので、あんまり紙で提出はさせません。日本人の教員の方がやはり紙で出させたがる傾向が強いと思います。

 

------------------------------------

○パソコンについて

学部によってはクソ重たいソフトを入れる可能性もあるし、プログラミングとか始める学生も多いのでちゃんと大学に入るときにいい奴は買っとくべきです。具体的に言うと、設計やる人はCADとか入れるし、パソコン内に仮想空間作ってプログラミングする人もいる。

僕のオススメのパソコンのスペックは以下の通りです。

 

※面倒なので次の記事に書きます。

京大地球工学科国際コースについて【3】

 

国際コースに関する記事は移行しました

yuma2012.hateblo.jp

 

 

 

 

 

 

 

DMで質問が来たので回答と共にここに書いときます。3/13の説明会には多分僕も行くのでそこで聞いてもらっていいですし、DMでもどうぞ。

今年の説明会についてはここにある通りです。

https://www.s-ge.t.kyoto-u.ac.jp/int/ja/admission/bunzoku2018

 

Q. 「当日の面接内容は本人の意思確認と英語能力のチェック」とあるが、単に英検とかTOEIC持ってるか聞かれるのか、それとも英語で面接をして英語能力をチェックするってことなのか。

 

A. 主に面接だと思います。僕らの学年は僕も含めて外部の英語試験の結果を持ってる人はほぼいなかったはずです。英語で志望理由とかを聞かれます。僕らの時は4人ずつぐらいに分かれて、生徒4人vs教師4人(外国人教諭3+日本人のコース長教諭1人)でした。

 

希望数が10人より多い場合はそこで当落があります。その考慮の際に外部英語試験の結果も考慮に入れるのでしょう。ただ、殆どの人が持ってないはずなので、やはり主に面接で測られると思います。外部英語試験はあくまで参考程度かな、と。あるにこしたことはないけど。

 

僕らの年は6人しか入らなかったので面接はやったものの全員合格解散帰宅〜って感じでした。10人以上希望者がいた先輩達の面接とかぎどんな感じだったか詳しくは知りません。誰か教えてください。

終わり。

 

先輩より

面接は英語で答えるべきところを日本語で答えても通るしやっぱり熱意が大切なんじゃないかと思う。 英語能力はあんまり関係ないのかもしれない。2/28

→とのことです。

 

 

※余談

僕の英語力は中学生とあまり変わりません(今も昔も)。こんなに偉そうに喋ってるのに...

件の面接で「なぜ君はここに来たの?」と問われ、錯乱した僕は「My god said I should study here!」と答え、教授陣をフリーズさせ、周りの受験生の呆れと失笑を誘いましたが無事通りました。定員割れしてて良かった。

何が言いたいかと言うと、あまり臆せずに来てください。せめて説明会だけでも。僕より英語力ない人はいないのでそこら辺自信持ってこ。英語力なくてもゆーていけるって神様も言ってる。たぶん。

 

京大地球工学科国際コースについて【2】

国際コースに関する記事は移行しました

yuma2012.hateblo.jp

 

 

 

すっかり続きを書かぬまま、受験シーズン真っ盛りになってしまいました。ちなみに僕は明日の自動車免許本免試験に対する恐怖で夜も眠れません。眠れないので書きます。

 

まずはこれ見てください。

https://www.s-ge.t.kyoto-u.ac.jp/int/ja/admission/bunzoku2017

 

 

これは去年の国際コースの案内です。僕はこれ見て「とりま説明会だけ行ってやるか」というつもりで行って、そのまま流されて入りました。今年も受験生は貰ったのかな??よく読んでね。

 

僕もとりあえず読みなおしてみますか。

 

 

...ん?

 

 

あれ??

 

 

おかしいぞ...

 

 

「必要とされる語学力は、TOEFL-iBT 80 点、IELTS 6.0 点程度です。」

 

 

え?

 

 

 

 

 

俺IELTS5.5点だったやん...去年の10月時点で...

 

 

 

 

 

はい、とゆことで、興味を持たれた方はとりあえず説明会に来てくださいね!

 

 

京大のE2授業 難易度・感想etc... まとめ

今年度、というかこれからもずっと僕はE2授業とかいう英語の授業を取って卒業しなきゃいけないのです。せっかくなので、E2授業の感想をだらだらと書いておきたいと思います。というのも、多くの人がE2の単位を取るのに苦労するらしいので。人社と一部、統合について書きます。

 

人社

☆2017 前期☆

Japan's Political Economy 水3 (日本の政経

難易度 4.5/5.0

めんどくささ 4.5/5.0

面白さ 4.0/5.0

感想: 日系人の米人教授がスライドを使って授業をします。完全に座学。内容はいたって普通。戦後の日本の経済と政治について時系列的に追っていきます。まじめにやろうとするとくそ大変。まず、毎週大量に予習分のテキストを読まなきゃいけない。しかし、これをさぼってもいけるっちゃいける。が、たまーに小テスト(合計30点分)があるので注意。最終レポートが70点分。かなりきつい。英語2000字以上。ただし、日本語3000以上でもOKという神対応あり。どちらにせよ面倒くさい。ちなみに僕は小テスト24点、最終レポートが63点でしたが、5日遅れて出したので20点減点されました。おっぱい。

 

 

☆2017 後期☆

Introduction to Educational Studies 月1 (教育的な研究・入門?) 

難易度 3.0/5.0

めんどくささ 5.0/5.0

面白さ 3.0/5.0

感想: やったら課題が多い。毎週本読んでまとめノート作らなきゃいけないし、毎週授業のまとめを書いて出さなきゃいけない。期末テスト20点+課題&出席点80点。授業は先生が少し喋った後、配られた議題について考えてまず一人で書く。それを周りの人と話し合う。最後に教授が適当に生徒を指して意見を言わせる。これらの繰り返し。授業難易度は本当にふつう。話し合う内容も本当にふつう。個人的には月曜の1限から何やらくだらんこと話し合わなきゃいけなくてだるかった。朝に強い人。課題を出したら確実に単位は来るので、どうしても確実に取れる単位を選びたい人におすすめ。

 追記: 3回ぐらい授業ブッチ&ポートフォリオ適当だったために78点でした。んー、ビミョい。弛まぬ努力をもってコツコツやる人向けなんで、まぁ僕には向いてません。

 

Natural Disaster Science月2 (自然災害科学) (統合群)

難易度 3.0/5.0

めんどくささ 4.0/5.0

面白さ 4.0/5.0

感想: 課題多い。まず最初の数週間は全員、手書きの英語レポートをやたら書くように言われる。それは先生曰く履修制限の代わりなんだとか。結果、最初は30人以上いた教室も後半は10人弱に。また、この授業は日本人の英語特訓講座と化している面があるので、留学生たちは露骨に暇そうな感じである(実際、英語を喋れない人が喋るのを待つなどの無駄な時間がかなり多かった)。しかし、授業の内容自体はとても面白い。と、個人的には思う。

ストイックな方。英語を鍛えたい方などにおすすめ。

 追記: 少しレポート出さんかった&ブッチしたけど96点いただいた。たぶん、積極的な授業態度(笑)みたいのがかなり重視されてると思う。ローリスクハイリターンお菓子プリーズ。

 

 

Pedagogy 水1(教育学)

難易度 4.0/5.0

めんどくささ 3.0/5.0

面白さ 4.5/5.0

感想: 面白いE2人社として割と有名。内容は教育の話かと思いきや、ほとんどが宗教・歴史・哲学の話。実践的な教育の話はあまりしない。内容は超難しいけど内容はとても面白い。胸張ってお勧めできる人社。ただ、結構人数制限が厳しいので取るのが大変。単位はほぼ確実に取れるし、取れるようにしてくれる。課題もそんな大変じゃない。大変じゃないけど俺は案の定、最終レポートを一日遅れで出したので5点減点。

 追記: 結果は80点。レポートをちゃんと出せば数値上は85点だけど、相対評価によって評価は変わらない可能性が高い。たぶん殆どの人に単位来てるはず。起きれるかどうかが勝負。

 

 

Contemporary Management 水3(現代経営学?)

難易度 1.5/5.0

めんどくささ 2.0/5.0

面白さ 3.0/5.0

感想: まごうことなき楽単。二回に一回のペースででりゃ単位出るしもうこりゃ素晴らしい。内容は現代の経営について、例えば社員の働くMotivationとかの要素や関係性をレクチャーされる。そのあとにグループでその話題について話し合って、代表者が前に出て少し喋る。内容も議題も割と実生活に基づいて考えられるとっつきやすい内容が多いので、取り組みやすい。クラスはとてもでかく、100人くらいいたと思う。履修制限なし。E2単位がほしいなら絶対に取るべき。これより楽な単位は存在しないので、これで無理なら諦めてくださいって感じだ。

 追記: 結果、84点。最後のプレゼンで前日締切のファイルを提出し忘れたための失点によりおそらくA→Bになった。やたら最後だけ締切に厳しかったが、他の小レポート3回は遅れて出しても半分の点数をくれる。まぁ楽なのでさっさと期限通りに出すべき。大して大変じゃない。

 

 

Critical Thinking 水4(批判的思考)

難易度 2.5/5.0

めんどくささ 2.0/5.0

面白さ 2.5/5.0

感想: これも楽単。出席点がほとんど。最後に一時限だけディベートがあるが、全然まともなディベートとは程遠いので、気にしなくても大丈夫。授業は先生が用意した厚い教材のコピーを使って進める。内容は全て「議論の正しさ・確かさ」。たとえば、こういう論理の組み立て方はダメでこうすべき、演繹法の使い方、自分の論理を肯定する実例の挙げ方etc…など。論文やレポートを書く時のベースとなる「前提」みたいのが身につく。毎回、先生がランダムに生徒を指して、該当ページを音読(この時間、暇)。その後、そのテキストについている演習問題を個人でやる。最後に先生が適当に誰か指して答えさせる、という形式。その演習問題はほとんど答えが一意に決まらないものなので、それぞれが思い思いの発言をする。割と面白い。注意点としては、出てくる単語が結構むずかしい(それはそう)ので、ちゃんと調べた方がいい。

ちなみに変な小レポートが毎週のように出た。あまりにもしょーもなかったので気にも留めなかった結果、何度かやり忘れた。

 追記: 結果は96点。レポートは2.3回出さなかったけどA+来た。欠席回数ゼロがでかい。休まず出ればA+が取れるって考えれば楽勝。ゼロリスクハイリターン。今期のベストオブ楽単。

 

以上です。

なんか意外と書く内容薄かった。後半になるほど楽であることは確かだね。

なんにせよE2授業というのは出席点がでかいのがほとんどなので、通える時間に取れる授業を選ぶべきだと個人的には思います。ちなみに、テスト100%って人社はほとんどないです。またなんか質問があれば。人よりはE2授業のことは多少詳しいので。

Programming Example Report 14

program report14
implicit none
real(8)::t,k
real,parameter::TOL=1.0D-6
real(8),dimension(5)::NPV,s
integer::i

s(1)=0.0;s(2)=10.0;s(3)=15.0;s(4)=20.0;s(5)=25.0

do i=1,5
NPV(i)=forming(s(i))
End do

k=0.0
do while(forming(k)>=0)
k=k+TOL
enddo

write(*,'(T5,A,$)') "Rates of interest(%)"
write(*,'(T10,A)') "Net present values($)"
write(*,'(A)') repeat("=",55)

do i=1,5
write(*,'(T12,f5.2,T37,I10)') s(i),nint(NPV(i))
end do
write(*,'(A)') repeat("=",55)
write(*,'(A,F10.4,A)') "The internal rate of return is ", k,"%"

open(1,file="NPV.txt")
write(1,'(T5,A,$)') "Rates of interest(%)"
write(1,'(T10,A)') "Net present values($)"
write(1,'(A)') repeat("=",55)
do i=1,5
write(1,'(T12,f5.2,T37,I10)') s(i),nint(NPV(i))
end do
write(1,'(A)') repeat("=",55)
write(1,'(A,F10.4,A)') "The internal rate of return is ", k,"%"
close(1)

contains
function forming(t)
real(8)::forming,t,x
integer::i
x=t/100
forming=-300000+150000/(1+x)+150000/(1+x)**2+160000/(1+x)**3
end function forming

end program report14

! Result

! Rates of interest(%) Net present values($)
! =======================================================
! 0.00 160000
! 10.00 80541
! 15.00 49059
! 20.00 21759
! 25.00 -2080
! ============================================================
! The internal rate of return is 24.5366%

Programming Example 13

Program Least_squares
implicit none

! Global variables
integer, parameter:: m=4       ! Number of coefficient
real(8):: S(m)                 ! Array of coefficient S
real(8), parameter:: TOL=1D-6  ! Numerical tolerance
real(8), dimension(:), allocatable:: X, Y  ! Arrays of data X and Y

Call Initialization(X, Y, S)  ! read data from file
Call Processing(X, Y, S)      ! perform numerical analysis and display
Call Finalization(X, Y, S)    ! write data to file

contains

!================================================================================
Subroutine Initialization(X, Y, S)
! dummy variables
real(8), dimension(:), allocatable, INTENT(OUT):: X, Y
real(8), INTENT(OUT):: S(m)
! local variables
integer:: i, n, status=0
character(len=50):: filename
real(8):: r

write(*,'(A)') "Enter the title of input data with the file extension"
read(*,*) filename

open(1, file=filename)
n=0
do
  read(1, *, iostat=status) r
  if (status/=0) exit
  n=n+1
end do
allocate(X(n), Y(n))
rewind(1)
do i=1,n
   read(1, *) X(i), Y(i)
end do
close(1)

write(*,'(A)') "The input data"
write(*,'(2A10)') "Data X", "Data Y"
do i=1,n
   write(*,'(2F10.3)') X(i), Y(i)
end do

write(*,*) "The fitting function is Y = exp(-S1*X)*sin(S2*X)*S3+S4"
write(*,*) "In order to determine non-trivial fitting coefficients, intialial values are necessary."
do i = 1, m
 write(*, '(A, I1, A, $)') "Input the guessed value for S", i, " = "
 Read(*,*) S(i)
end do

end subroutine Initialization

!================================================================================
Subroutine Processing(X, Y, S)
! dummy variables
real(8), dimension(:), INTENT(IN):: X, Y
real(8), INTENT(INOUT):: S(m)
! local variables
integer:: i, k, k_max=50 ! iteration number and maximum iteration number
! Norm of errors, vector residuals and Hessian matrix
real(8):: err, R(m), H(m,m)

write(*, '(A)') repeat('-',10*m+30)
write(*,'(A10, $)') "Iteration"
do i=1, m
 write(*,'(A9, I1, $)') "S", i
end do
write(*,'(A20)') "Norm of residuals"
write(*, '(A)') repeat('-',10*m+30)

R=Residual_vector(X, Y, S)
err=sqrt(dot_product(R,R))
k=0
write(*,'(I10, $)') k
do i=1, m
  write(*,'(F10.3, $)') S(i)
  end do
write(*,'(E20.3)') ERR
do while *1
  k=k + 1
  H=Hessian_matrix(X, Y, S) !This caluclates the Hessian wrt X,Y,S
  S=S-matmul(Minverse(H),R) !This remakes S. S=S- [Hessian]**(-1) × RessidualMatrix
  R=Residual_vector(X, Y, S) !Remakes R with new S.
  err=sqrt(dot_product(R,R)) !Remakes ERR with new ResidualVector
  write(*,'(I10, $)') k
  do i=1, m
    write(*,'(F10.3, $)') S(i)
    end do
  write(*,'(E20.3)') ERR
end do
if (k==k_max) then
   write(*,*) "Divergence!"; STOP
end if
write(*, '(A)') repeat('-',10*m+30)

end Subroutine Processing

!================================================================================
Subroutine Finalization(X, Y, S)
! dummy variables
real(8), dimension(:), INTENT(IN):: X, Y
real(8), INTENT(IN):: S(m)
! local variables
Integer:: i, n
character(len=50):: filename

n=size(X) ! rows of vector X
write(*,'(A)') "Enter the title of output data with the file extension"
read(*,*) filename

open(2, file=filename)
write(*,'(A)') "The output data"
write(*,'(2A10)') "Data X", "Fitting Y"
do i=1,n
   write(*,'(2F10.3)') X(i), Fit(X(i),S)
   write(2,'(2F10.3)') X(i), Fit(X(i),S)
end do

write(*, '(A, F10.3)') "Sum square of errors of the converged result is ", SSE(X, Y, S)
write(*,'(A, A, $)') "The output data have been successfully written to the file ", filename
close(2)

end Subroutine Finalization

!--------------------------------------------------------------------------------
Function SSE(X, Y, C) ! Sum Square Errors
real(8), dimension(:):: X, Y
real(8):: SSE, C(m) ! sum square of residual and coefficient array
integer:: i, n

n = size(X)    ! The size of array X
SSE = 0
do i = 1, n
   SSE = SSE + ( fit(X(i),C) - Y(i) )**2
end do

end Function SSE

!--------------------------------------------------------------------------------
Function Fit(z, C)
real(8):: Fit, z, C(m)

Fit = exp(-C(1)*z)*sin(C(2)*z)*C(3)+C(4)

end Function Fit

!--------------------------------------------------------------------------------
Function Residual_vector(X, Y, C)
real(8), dimension(:):: X, Y
real(8):: Residual_vector(m), C(m), C_(m)
integer:: i

do i = 1, m
   C_ = C; C_(i) = C(i) + TOL
   Residual_vector(i) = ( SSE(X, Y, C_) - SSE(X, Y, C) ) / TOL
end do
end Function Residual_vector


!--------------------------------------------------------------------------------
Function Hessian_matrix(X, Y, C)
real(8), dimension(:):: X, Y
real(8):: Hessian_matrix(m,m), C(m), C_(m), v(m), v_(m)
integer:: i,j

do i = 1, m
   do j = 1, m
      C_ = C; C_(j) = C(j) + TOL
      v_ = Residual_vector(X, Y, C_)
      v  = Residual_vector(X, Y, C)
      Hessian_matrix(i,j) = ( v_(i) - v(i) ) / TOL
   end do
end do

end Function Hessian_matrix

!--------------------------------------------------------------------------------
Function Minverse(A)
real(8), dimension(:,:):: A ! Allow both static/dynamic memory allocation
real(8), dimension(:,:), allocatable:: Minverse, B, V
real(8), dimension(:), allocatable:: temp
real(8), parameter:: TOL=1D-6
real(8):: pivot
integer:: i, j, jmax, k, n

n=size(A)**0.5
allocate(Minverse(n,n), B(n,n), V(n,n), temp(n))
B=A
V(:,:)=0.
do i=1, n; V(i,i)=1.; end do

do i=1, n
   jmax=i

!===== Maximum pivoting technique =====

   do j=i+1, n
      if (abs(B(j,i))>abs(B(jmax,i))) then
         jmax=j
         temp=B(i,:); B(i,:)=B(jmax,:); B(jmax,:)=temp
         temp=V(i,:); V(i,:)=V(jmax,:); V(jmax,:)=temp
       end if
   end do

!===== Gauss-Jordan elimination =====

   pivot=B(i,i)
   if (abs(pivot)<TOL) then
      print *, "The matrix is singular!"
      stop
   end if
   B(i,:)=B(i,:)/pivot; V(i,:)=V(i,:)/pivot

   do k=1, n
      pivot=B(k,i)
      if (k/=i) then
         B(k,:)=B(k,:)-pivot*B(i,:)
         V(k,:)=V(k,:)-pivot*V(i,:)
      end if
   end do

end do

Minverse=V

end function Minverse

End Program

*1:err>TOL).and.(k<k_max